@incollection{GrahlBubelEtAl2016, author = {Daniel Grahl and Richard Bubel and Wojciech Mostowski and Peter H. Schmitt and Mattias Ulbrich and Benjamin Wei{\ss}}, title = {Modular Specification and Verification}, booktitle = {Deductive Software Verification - The {\KeY} Book: From Theory to Practice}, pages = {289--351}, chapter = {9}, part = {II: Specification and Verification}, year = {2016}, month = dec, url = {http://dx.doi.org/10.1007/978-3-319-49812-6_9}, doi = {10.1007/978-3-319-49812-6_9}, series = {Lecture Notes in Computer Science}, volume = {10001}, publisher = {Springer} }
Modular Specification and Verification
Author(s): | Daniel Grahl, Richard Bubel, Wojciech Mostowski, Peter H. Schmitt, Mattias Ulbrich, and Benjamin Weiß |
---|---|
In: | Deductive Software Verification - The KeY Book: From Theory to Practice |
Publisher: | Springer |
Series: | Lecture Notes in Computer Science |
Volume: | 10001 |
Part: | II: Specification and Verification |
Chapter: | 9 |
Year: | 2016 |
Pages: | 289-351 |
URL: | http://dx.doi.org/10.1007/978-3-319-49812-6_9 |
DOI: | 10.1007/978-3-319-49812-6_9 |
Abstract
In this chapter, concepts already addressed in previous chapters are reconsidered and extended to cater for modularity. In particular, it is shown how method contracts can be used in proofs (as opposed to being verified themselves). Another central topic is nonfunctional framing information, i.e., information on what locations a method may write to or read from. But, there are also items that are discussed here in depth for the first time: model methods, an abstraction of Java methods that are only used in specification, verification of recursive methods, and object invariants. For any of the arising proof obligations the calculus rules needed to dispatch them are shown.