Preserving User Proofs across Specification Changes
In the context of deductive program verification, both the specification and the code evolve as the verification process carries on. For instance, a loop invariant gets strengthened when additional properties are added to the specification. This causes all the related proof obligations to change; thus previous user verifications become invalid. Yet it is often the case that most of previous proof attempts (goal transformations, calls to interactive or automated provers) are still directly applicable or are easy to adjust. In this paper, we describe a technique to maintain a proof session against modification of verification conditions. This technique is implemented in the Why3 platform. It was successfully used in developing more than a hundred verified programs and in keeping them up to date along the evolution of Why3 and its standard library. It also helps out with changes in the environment, e.g. prover upgrades.
Unable to display preview. Download preview PDF.
- 2.Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software: The KeY Approach. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007)Google Scholar
- 3.Bobot, F., Conchon, S., Contejean, E., Iguernelala, M., Lescuyer, S., Mebsout, A.: The Alt-Ergo automated theorem prover (2008), http://alt-ergo.lri.fr/
- 4.Bobot, F., Filliâtre, J.-C., Marché, C., Paskevich, A.: Why3: Shepherd your herd of provers. In: Boogie 2011: First International Workshop on Intermediate Verification Languages, Wrocław, Poland, pp. 53–64 (August 2011)Google Scholar
- 8.Filliâtre, J.-C.: Combining Interactive and Automated Theorem Proving in Why3 (invited talk). In: Heljanko, K., Herbelin, H. (eds.) Automation in Proof Assistants 2012, Tallinn, Estonia (April 2012)Google Scholar
- 10.Klebanov, V.: Extending the Reach and Power of Deductive Program Verification. PhD thesis, Universität Koblenz-Landau (2009), http://formal.iti.kit.edu/~klebanov/pubs/vstte09.pdf
- 11.Miller, D., Pimentel, E.: A formal framework for specifying sequent calculus proof systems. In: Theoretical Computer Science, pp. 98–116 (2013)Google Scholar
- 14.Sutcliffe, G.: The SZS ontologies for automated reasoning software. In: Rudnicki, P., Sutcliffe, G., Konev, B., Schmidt, R.A., Schulz, S. (eds.) Proceedings of the LPAR 2008 Workshops, Knowledge Exchange: Automated Provers and Proof Assistants, and the 7th International Workshop on the Implementation of Logics, vol. 418. CEUR Workshop Proceedings, pp. 38–49 (2008)Google Scholar