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
Link To Document :
بازگشت