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.

Download details

File Name havoc_v_0.1_external_setup.msi
Version 0.1
Date Published 2 June 2008
Download Size 9.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.

Share
Share this page on Facebook
Share this page on Twitter
Share this page on LinkedIn
E-mail this page
RSS feeds