Automated generation of model classes for Java PathFinder

Model checkers like Java PathFinder (JPF) often have to combat the state space explosion problem. One solution adopted to tackle this problem is to abstract away parts of the system, e. g., to model complex library classes at a higher level of abstraction. The model classes have the same interface as the actual library classes but exhibit reduced be- haviour and state. Writing such model classes is both error prone and time consuming. In this paper we propose a tool that can automatically derive a model class from the original class. To achieve this goal, the tool uses different algorithms, including slicing and value generation, each yielding a model class with different behaviour and state.

[1]  Matteo Ceccarello,et al.  Tools to generate and check consistency of model classes for Java PathFinder , 2012, SOEN.

[2]  Klaus Havelund,et al.  Model checking programs , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[3]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[4]  Matthew B. Dwyer,et al.  Adapting side effects analysis for modular program model checking , 2003, ESEC/FSE-11.

[5]  M. Eliantonio,et al.  Private Parties and the Annulment Procedure: Can the Gap in the European System of Judicial Protection Be Closed? , 2010 .

[6]  Franck van Breugel,et al.  Automatic handling of native methods in Java PathFinder , 2014, SPIN.

[7]  Cyrille Artho,et al.  Cache-Based Model Checking of Networked Applications: From Linear to Branching Time , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[9]  Mateusz Ujma,et al.  JPF-AWT: Model checking GUI applications , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[10]  Amitabha Sanyal,et al.  Data Flow Analysis - Theory and Practice , 2009 .

[11]  Mateusz Ujma,et al.  jpf-concurrent: An extension of Java PathFinder for java.util.concurrent , 2012, ArXiv.