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

  • Sascha Böhme
  • K. Rustan M. Leino
  • Burkhart Wolff
Conference paper

DOI: 10.1007/978-3-540-71067-7_15

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5170)
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

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Sascha Böhme
    • 1
  • K. Rustan M. Leino
    • 2
  • Burkhart Wolff
    • 3
  1. 1.Technische Universität MünchenGermany
  2. 2.Microsoft Research, RedmondUSA
  3. 3.Universität SaarbrückenGermany

Personalised recommendations