A logic for the Java Modeling Language JML

Saved in:
Bibliographic Details
Title: A logic for the Java Modeling Language JML
Authors: Bart Jacobs, Erik Poll
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.cs.kun.nl/~erikpoll/publications/jmllogic.pdf.
Publisher Information: Springer
Publication Year: 2001
Collection: CiteSeerX
Description: This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, pre- and post-conditions, and modifiable clauses as annotations to Java classes, in a design-by-contract style. Within the LOOP project at the University of Nijmegen JML is used for specification and verification of Java programs. A special compiler has been developed which translates Java classes together with their JML annotations into logical theories for a theorem prover (PVS or Isabelle). The logic for JML that will be described here consists of tailor-made proof rules in the higher order logic of the back-end theorem prover for verifying translated JML specifications. The rules efficiently combine partial and total correctness (like in Hoare logic) for all possible termination modes in Java, in a single correctness formula. 1
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.82.790; http://www.cs.kun.nl/~erikpoll/publications/jmllogic.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.82.790
http://www.cs.kun.nl/~erikpoll/publications/jmllogic.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.76AA7DAA
Database: BASE
Description
Abstract:This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, pre- and post-conditions, and modifiable clauses as annotations to Java classes, in a design-by-contract style. Within the LOOP project at the University of Nijmegen JML is used for specification and verification of Java programs. A special compiler has been developed which translates Java classes together with their JML annotations into logical theories for a theorem prover (PVS or Isabelle). The logic for JML that will be described here consists of tailor-made proof rules in the higher order logic of the back-end theorem prover for verifying translated JML specifications. The rules efficiently combine partial and total correctness (like in Hoare logic) for all possible termination modes in Java, in a single correctness formula. 1