• DocumentCode
    635292
  • Title

    A hands-on Java Pathfinder tutorial

  • Author

    Mehlitz, Peter ; Rungta, Neha ; Visser, Willem

  • Author_Institution
    NASA Ames Res. Center, Moffet Field, CA, USA
  • fYear
    2013
  • fDate
    18-26 May 2013
  • Firstpage
    1493
  • Lastpage
    1495
  • Abstract
    Java Pathfinder (JPF) is an open source analysis system that automatically verifies Java programs. The JPF tutorial provides an opportunity to software engineering researchers and practitioners to learn about JPF, be able to install and run JPF, and understand the concepts required to extend JPF. The hands-on tutorial will expose the attendees to the basic architecture framework of JPF, demonstrate the ways to use it for analyzing their artifacts, and illustrate how they can extend JPF to implement their own analyses. One of the defining qualities of JPF is its extensibility. JPF has been extended to support symbolic execution, directed automated random testing, different choice generation, configurable state abstractions, various heuristics for enabling bug detection, configurable search strategies, checking temporal properties and many more. JPF supports these extensions at the design level through a set of stable well defined interfaces. The interfaces are designed to not require changes to the core, yet enable the development of various JPF extensions. In this tutorial we provide attendees a hands on experience of developing different interfaces in order to extend JPF. The tutorial is targeted toward a general software engineering audience-software engineering researchers and practitioners. The attendees need to have a good understanding of the Java programming language and be fairly comfortable with Java program development. The attendees are not required to have any background in Java Pathfinder, software model checking or any other formal verification techniques. The tutorial will be self-contained.
  • Keywords
    Java; program debugging; program testing; program verification; public domain software; search problems; software architecture; symbol manipulation; JPF tutorial; Java program development; Java programming language; architecture framework; automated random testing; automatic Java program verification; bug detection; configurable search strategies; configurable state abstractions; formal verification techniques; hands-on Java PathFinder tutorial; open source analysis system; software engineering audience; software engineering practitioners; software engineering researchers; software model checking; symbolic execution; temporal property checking; Educational institutions; Java; Model checking; NASA; Software; Software engineering; Tutorials;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2013 35th International Conference on
  • Conference_Location
    San Francisco, CA
  • Print_ISBN
    978-1-4673-3073-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2013.6606756
  • Filename
    6606756