A Formal Definition of JML in Coq
Hermann , Lehner
anglais | 20-01-2012 | 236 pages
9783838130644
Livre de poche
94,39€
Retour accepté sous 15 jours
Livraison 5 euros. Des frais de traitement peuvent s’appliquer, veuillez vous renseigner avant l’annulation.
Couverture / Jaquette
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.
Note biographique
After studying computer science at ETH Zurich, Hermann Lehner contributed to the European research project Mobius (IST-15905) as research assistant and received his PhD at the Chair of Programming Methodology at ETH Zurich in 2011.
Détails
Code EAN : | 9783838130644 |
Editeur : | Südwestdeutscher Verlag für Hochschulschriften |
Date de publication : | 20-01-2012 |
Format : | Livre de poche |
Langue(s) : | anglais |
Hauteur : | 220 mm |
Largeur : | 150 mm |
Epaisseur : | 15 mm |
Poids : | 369 gr |
Stock : | Impression à la demande (POD) |
Nombre de pages : | 236 |