Verification of B+ Trees: An Experiment Combining Shape Analysis and Interactive Theorem Proving
Gidon Ernst, Gerhard Schellhorn, Wolfgang Reif
Interactive proofs of correctness of pointer-manipulating programs
tend to be difficult. We propose an approach that integrates shape analysis and
interactive theorem proving, namely TVLA and KIV. The approach uses shape
analysis to automatically discharge proof obligations for various data structure
properties, such as “acyclicity”. We verify the main operations of B+ trees by
decomposition of the problem into three layers. At the top level is an interac-
tive proof of the main recursive procedures. The actual modifications of the data
structure are verified with shape analysis. To this purpose we define a mapping
of typed algebraic heaps to TVLA. TVLA itself relies on various constraints and
lemmas, that were proven in KIV as a foundation for an overall correct analysis.
erschienen 2011
In Proc. of Software Engineering and Formal Methods
Verlag: Springer
ISBN: 978-3-642-24689-0
