Hermann Lehner: A Formal Definition of JML in Coq, Kartoniert / Broschiert
A Formal Definition of JML in Coq
- and its Application to Runtime Assertion Checking
(soweit verfügbar beim Lieferanten)
- Verlag:
- Südwestdeutscher Verlag für Hochschulschriften, 01/2012
- Einband:
- Kartoniert / Broschiert, Paperback
- Sprache:
- Englisch
- ISBN-13:
- 9783838130644
- Artikelnummer:
- 1990280
- Umfang:
- 236 Seiten
- Copyright-Jahr:
- 2012
- Gewicht:
- 369 g
- Maße:
- 220 x 150 mm
- Stärke:
- 14 mm
- Erscheinungstermin:
- 20.1.2012
- Hinweis
-
Achtung: Artikel ist nicht in deutscher Sprache!
Klappentext
The Java Modeling Language (JML) is a very rich specification language for Java. The richness of JML leads to many different interpretations of the same specification constructs in different applications. This work presents a formalization of JML in the theorem prover Coq to provide an exact, unambiguous meaning for JML constructs. The formalization not only gives a mathematically precise definition of the language, but also enables formal meta-reasoning about the language itself, its applications, and proposed extensions. In JML, frame conditions are expressed by the assignable clause. This work highlights the first algorithm that checks assignable clauses at runtime in the presence of dynamic data groups as a means of data abstraction. The algorithm performs very well on realistic and large data structures by lazily computing the locations denoted by the data groups. As an important contribution to runtime assertion checking, the equivalence of the algorithm to the JML semantics has been formally proved in Coq. This shows not only correctness and completeness of the algorithm to check assignable clauses, but also the usefulness and expressiveness of the JML formalization.