Conference Proceedings

Extensible specifications for automatic re-use of specifications and proofs

D Matichuk, T Murray, G Eleftherakis (ed.), M Hinchey (ed.), M Holcombe (ed.)

Software Engineering and Formal Methods | Springer Berlin Heidelberg | Published : 2012

Abstract

One way to reduce the cost of formally verifying a large program is to perform proofs over a specification of its behaviour, which its implementation refines. However, interesting programs must often satisfy multiple properties. Ideally, each property should be proved against the most abstract specification for which it holds. This simplifies reasoning and increases the property's robustness against later tweaks to the program's implementation. We introduce extensible specifications, a lightweight technique for constructing a specification that can be instantiated and reasoned about at multiple levels of abstraction. This avoids having to write and maintain a different specification for each..

View full abstract

University of Melbourne Researchers