HOL-Boogie — An Interactive Prover for the Boogie Program-Verifier
- Cite this paper as:
- Böhme S., Leino K.R.M., Wolff B. (2008) HOL-Boogie — An Interactive Prover for the Boogie Program-Verifier. In: Mohamed O.A., Muñoz C., Tahar S. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2008. Lecture Notes in Computer Science, vol 5170. Springer, Berlin, Heidelberg
Boogie is a program verification condition generator for an imperative core language. It has front-ends for the programming languages C# and C enriched by annotations in first-order logic.
Its verification conditions — constructed via a wp calculus from these annotations — are usually transferred to automated theorem provers such as Simplify or Z3. In this paper, however, we present a proof-environment, HOL-BoogieP, that combines Boogie with the interactive theorem prover Isabelle/HOL. In particular, we present specific techniques combining automated and interactive proof methods for code-verification.
We will exploit our proof-environment in two ways: First, we present scenarios to ”debug” annotations (in particular: invariants) by interactive proofs. Second, we use our environment also to verify ”background theories”, i.e. theories for data-types used in annotations as well as memory and machine models underlying the verification method for C.
Unable to display preview. Download preview PDF.