HOL-Boogie-An Interactive Prover-Backend for the Verifying C Compiler

被引:10
|
作者
Boehme, Sascha [1 ]
Moskal, Micha [2 ]
Schulte, Wolfram [3 ]
Wolff, Burkhart [4 ]
机构
[1] Tech Univ Munich, Munich, Germany
[2] European Microsoft Innovat Ctr, Aachen, Germany
[3] Microsoft Res, Redmond, WA USA
[4] Univ Paris Sud, LRI, CNRS, Orsay, France
关键词
Isabelle/HOL; Theorem proving; Program verification; Memory models; Annotation languages; VERIFICATION; TOOL;
D O I
10.1007/s10817-009-9142-9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Boogie is a 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, i.e. pre- and postconditions, assertions, and loop invariants. Moreover, concepts like ghost fields, ghost variables, ghost code and specification functions have been introduced to support a specific modeling methodology. Boogie's verification conditions-constructed via a wp calculus from annotated programs-are usually transferred to automated theorem provers such as Simplify or Z3. This also comprises the expansion of language-specific modeling constructs in terms of a theory describing memory and elementary operations on it; this theory is called a machine/memory model. In this paper, we present a proof environment, HOL-Boogie, that combines Boogie with the interactive theorem prover Isabelle/HOL, for a specific C front-end and a machine/memory model. In particular, we present specific techniques combining automated and interactive proof methods for code verification. The main goal of our environment is to help program verification engineers in their task to "debug" annotations and to find combined proofs where purely automatic proof attempts fail.
引用
收藏
页码:111 / 144
页数:34
相关论文
共 2 条
  • [1] HOL-Boogie—An Interactive Prover-Backend for the Verifying C Compiler
    Sascha Böhme
    Michał Moskal
    Wolfram Schulte
    Burkhart Wolff
    Journal of Automated Reasoning, 2010, 44
  • [2] HOL-Boogie -: An interactive prover for the Boogie program-verifier
    Boehme, Sascha
    Leino, K. Rustan M.
    Wolfi, Burkhart
    THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2008, 5170 : 150 - +