Modular Specification and Verification

Book Chapter

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
Series:Lecture Notes in Computer Science
Part:II: Specification and Verification


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.


  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       = {},
  doi       = {10.1007/978-3-319-49812-6_9},
  series    = {Lecture Notes in Computer Science},
  volume    = {10001},
  publisher = {Springer}