|
Research highlight : HOL-BOOGIE - AN INTERACTIVE PROVER-BACKEND FOR THE VERIFIED C COMPILER |
|
|
|
|
HOL-BOOGIE - AN INTERACTIVE PROVER-BACKEND FOR THE VERIFIED C COMPILER
1 February 2010
The paper describes a combined proof-environment for verification conditions generated for annotated C using automated and interactive proof techniques.
|
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.
Journal of Automated Reasoning (JAR). DOI 10.1007/s10817-009-9142-9. 44(1--2), pages 111-144. Springer, 2009.
Keyword
° SAT ° Verification
Group
° Formal Testing and System Exploration
Contact
° WOLFF Burkhart
|
| |
|
|
|
|