Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
HAVOC: Heap-Aware Verifier for C Programs

HAVOC is a modular verifier for systems software written in C. It takes as input an annotated C program, in the form of pre- and post-conditions and loop invariants, and uses the Boogie verifier and the SMT solver Z3 to check the annotations. The novelty of the tool lies in a) an accurate memory model for C accounting for low-level operations such as pointer arithmetic, address-of operations, and casts; b) an expressive annotation language; and c) efficient decision procedures to reason about the annotations. The annotation language not only supports writing most pointer expressions, but also enables a user to refer to sets of pointers and to express quantified invariants over such sets. We provide support for constructing sets of pointers in a linked list, all indices in an array, and all objects of a given runtime type.


File Namehavoc_v_0.1_external_setup.msi
Date Published2 June 2008
Download Size9.57 MB

Note By installing, copying, or otherwise using this software, you agree to be bound by the terms of its license. Read the license.