HOL-Boogie -- An Interactive Prover for the Boogie Program-Verifier

  • Authors:
  • Sascha Böhme;K. Rustan Leino;Burkhart Wolff

  • Affiliations:
  • Technische Universität München,;Microsoft Research, Redmond,;Universität Saarbrücken,

  • Venue:
  • TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Boogieis 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 wpcalculus from these annotations -- are usually transferred to automated theorem provers such as Simplifyor 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.