Reusing a JML Specification Dedicated to Verification for Testing, and Vice-Versa: Case Studies

Testing and verification are two activities which have the same objective: to ensure software dependability. In the Java context, the Java Modelling Language (JML) has been proposed as specification language. It can be used both for verification and test. Usually, the JML specification is designed with a specific purpose: test or verification. This article addresses the question of reusability of a JML specification provided for one activity (resp. verification or test) in the other context (resp. test or verification). Two different case studies are considered.

[1]  Bernhard Beckert,et al.  Verification of Object-Oriented Software. The KeY Approach - Foreword by K. Rustan M. Leino , 2007, The KeY Approach.

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

[3]  Patrice Chalin,et al.  Early detection of JML specification errors using ESC/Java2 , 2006, SAVCBS '06.

[4]  B. Harrison Las Vegas, Nevada , 2002 .

[5]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.

[6]  Frédéric Dadeau,et al.  Mastering combinatorial explosion with the tobias-2 test generator , 2007, ASE '07.

[7]  Ken-ichi Matsumoto,et al.  Adapting Legacy Home Appliances to Home Network Systems UsingWeb Services , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

[8]  Claude Marché,et al.  The Why/Krakatoa/Caduceus Platform for Deductive Program Verification , 2007, CAV.

[9]  Mike P. Papazoglou,et al.  Introduction: Service-oriented computing , 2003, CACM.

[10]  Jean-Louis Lanet,et al.  A case study in JML-based software validation , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[11]  Bernhard Rumpe,et al.  Behavioral Specifications of Businesses and Systems , 1999, Behavioral Specifications of Businesses and Systems.

[12]  Mark Lillibridge,et al.  Extended static checking for Java , 2002, PLDI '02.

[13]  Ken-ichi Matsumoto,et al.  Constructing Home Network Systems and Integrated Services Using Legacy Home Appliances and Web Services , 2008, Int. J. Web Serv. Res..

[14]  Jean-Louis Lanet,et al.  A case study in JML-based software validation , 2004 .

[15]  Jean-Louis Lanet,et al.  JACK - A Tool for Validation of Security and Behaviour of Java Applications , 2006, FMCO.

[16]  Seng Wai Loke Service-Oriented Device Ecology Workflows , 2003, ICSOC.

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

[18]  Yoonsik Cheon,et al.  A Runtime Assertion Checker for the Java Modeling Language (JML) , 2003, ICSE 2003.

[19]  Gary T. Leavens,et al.  A Simple and Practical Approach to Unit Testing: The JML and JUnit Way , 2002, ECOOP.

[20]  Priya Narasimhan,et al.  Special Issue Service-Oriented Computing , 2008 .

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

[22]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[23]  Ben Yan,et al.  Using formal methods to increase confidence in a home network system implementation: a case study , 2009, Innovations in Systems and Software Engineering.

[24]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[25]  Albert L. Baker,et al.  JML: A Notation for Detailed Design , 1999, Behavioral Specifications of Businesses and Systems.

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

[27]  Jean-Louis Lanet,et al.  Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, Second International Workshop, CASSIS 2005, Nice, France, March 8-11, 2005, Revised Selected Papers , 2006, CASSIS.