Proof Repositories for Compositional Verification of Evolving Software Systems - Managing Change When Proving Software Correct


We propose a new and systematic framework for proof reuse in the context of deductive software verification. The framework generalizes abstract contracts into incremental proof repositories. Abstract contracts enable a separation of concerns between called methods and their implementations, facilitating proof reuse. Proof repositories allow the systematic caching of partial proofs that can be adapted to different method implementations. The framework provides flexible support for compositional verification in the context of, e.g., partly developed programs, evolution of programs and contracts, and product variability.

Transactions on Foundations for Mastering Change 1: 130-156 (2016). © Springer 2016.