Knygos.lt klubas Knygos.lt nariams
138,59 €
-30%
Įprastai
197,99 €
A Formal Definition of JML in Coq
A Formal Definition of JML in Coq
Knygos.lt klubas Knygos.lt nariams
138,59 €
-30%
Įprastai
197,99 €
  • Išsiųsime per 12–18 d.d.
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 applicati…

A Formal Definition of JML in Coq (el. knyga) (skaityta knyga) | knygos.lt

Atsiliepimai

Aprašymas

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.

Knygos.lt klubas
Knygos.lt nariams
138,59 €
-30%
Įprastai
197,99 €
Kaina registruotiems pirkėjams
Prisijunkite ir už šią prekę
gausite 1,98 Knygų Eurų!?
Išsiųsime per 12–18 d.d.
Įsigykite dovanų kuponą
Daugiau

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.

Atsiliepimai

  • Atsiliepimų nėra
0 pirkėjai įvertino šią prekę.
5
0%
4
0%
3
0%
2
0%
1
0%
(rodomas nebus)
[{"option":"222","probability":1,"style":{"backgroundColor":"#ffffff"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba631ba76d1782294065.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"221","probability":1.3,"style":{"backgroundColor":"#e1032e"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba61ea9f381782294046.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"220","probability":1.6,"style":{"backgroundColor":"#ffffff"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba60167d251782294017.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"219","probability":1.5,"style":{"backgroundColor":"#e2022e"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba5ea1c47d1782293994.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"218","probability":1.5,"style":{"backgroundColor":"#ffffff"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba5d38b4a21782293971.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"217","probability":1.6,"style":{"backgroundColor":"#e3022e"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba5b981b7a1782293945.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"216","probability":1.4,"style":{"backgroundColor":"#ffffff"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba58b535551782293899.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}},{"option":"215","probability":0.1,"style":{"backgroundColor":"#ffe01a"},"image":{"uri":"\/uploads\/images\/wheel_of_fortune\/6a3ba53a6496f1782293818.png","sizeMultiplier":0.6,"landscape":true,"offsetX":-50}}]