JML-based verification of liveness properties on a class in isolation

This paper proposes a way to verify temporal properties of a Java class in an extension of JML (Java Modeling Language) called JTPL (Java Temporal Pattern Language). We particularly address the verification of liveness properties by automatically translating the temporal properties into JML annotations for this class. This automatic translation is implemented in a tool called JAG (JML Annotation Generator). Correctness of the generated annotations ensures that the temporal property is established for the executions of the class in isolation.

[1]  Claude Marché,et al.  The KRAKATOA tool for certificationof JAVA/JAVACARD programs annotated in JML , 2004, J. Log. Algebraic Methods Program..

[2]  Fabrice Bouquet,et al.  Safety Property Driven Test Generation from , 2006, FATES/RV.

[3]  Rod M. Burstall,et al.  Program Proving as Hand Simulation with a Little Induction , 1974, IFIP Congress.

[4]  Matthew B. Dwyer,et al.  Checking JML specifications using an extensible software model checking framework , 2006, International Journal on Software Tools for Technology Transfer.

[5]  Bart Jacobs,et al.  Formal Verification of a Commercial Smart Card Applet with Multiple Tools , 2004, AMAST.

[6]  Olivier Ly,et al.  Using Coq to Verify Java Card Applet Isolation Properties , 2003, TPHOLs.

[7]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[8]  Fabrice Bouquet,et al.  JML-Testing-Tools: A Symbolic Animator for JML Specifications Using CLP , 2005, TACAS.

[9]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[10]  Bart Jacobs,et al.  A Type-Theoretic Memory Model for Verification of Sequential Java Programs , 1999, WADT.

[11]  Jean-Louis Lanet,et al.  Java Applet Correctness: A Developer-Oriented Approach , 2003, FME.

[12]  Fabrice Bouquet,et al.  Automated Boundary Test Generation from JML Specifications , 2006, FM.

[13]  Marieke Huisman,et al.  Extending JML Specifications with Temporal Logic , 2002, AMAST.

[14]  Lydie du Bousquet,et al.  Filtering TOBIAS Combinatorial Test Suites , 2004, FASE.

[15]  Bart Jacobs,et al.  Formal methods for smart cards: an experience report , 2005, Sci. Comput. Program..

[16]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[17]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[18]  Catherine Oriat,et al.  Jartege: A Tool for Random Generation of Unit Tests for Java Classes , 2004, QoSA/SOQUA.

[19]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 1999, OOPSLA '99.

[20]  Alain Giorgetti,et al.  JAG: JML Annotation Generation for Verifying Temporal Properties , 2006, FASE.

[21]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[22]  Fabrice Bouquet,et al.  Checking JML Specifications with B Machines , 2005, ZB.

[23]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, Electron. Notes Theor. Comput. Sci..

[24]  Matthew B. Dwyer,et al.  Checking Strong Specifications Using an Extensible Software Model Checking Framework , 2004, TACAS.