Title :
Proof reuse for deductive program verification
Author :
Beckert, Bernhard ; Klebanov, Vladimir
Abstract :
We present a proof reuse mechanism for deductive program verification calculi. After a program amendment, it reuses a previous proof incrementally (one proof step at a time), employing a similarity measure for the points (formulas, terms, programs) where a rule is applied The method is flexible, as the reuse mechanism does not need knowledge about particularities of the target programming language or individual calculus rules. It also allows reuse of proof steps even if the situation in the new proof is merely similar but not identical to the template. Upon reaching a significant change in the program, the reuse process stops, and genuinely new proof steps have to be provided Reuse resumes automatically if another (unaffected) part of the proof template becomes pertinent. Our method has been successfully implemented within the KeY system to reuse correctness proofs for Java programs.
Keywords :
program verification; software reusability; theorem proving; Java programs; KeY system; calculus rules; correctness proofs; deductive program verification calculi; programming language; proof reuse; proof template; Application software; Calculus; Computer languages; Computer science; Java; Resumes; Software engineering; Time measurement;
Conference_Titel :
Software Engineering and Formal Methods, 2004. SEFM 2004. Proceedings of the Second International Conference on
Print_ISBN :
0-7695-2222-X
DOI :
10.1109/SEFM.2004.1347505