Skip to main content Skip to main navigation

Publication

VCC: A Practical System for Verifying Concurrent C

Ernie Cohen; Markus Dahlweid; Mark Hillebrand; Dirk Leinenbach; Michael Moskal; Thomas Santen; Wolfram Schulte; Stephan Tobies
In: Stefan Berghofer; Tobias Nipkow; Christian Urban; Makarius Wenzel (Hrsg.). Theorem Proving in Higher Order Logics, 22nd International Conference. International Conference on Theorem Proving in Higher Order Logics (TPHOLs-09), August 17-20, Munich, Germany, Pages 23-42, Lecture Notes in Computer Science (LNCS), Vol. 5674, ISBN 978-3-642-03358-2, Springer, 8/2009.

Abstract

VCC is an industrial-strength verification environment for low-level concurrent system code written in C. VCC takes a program (annotated with function contracts, state assertions, and type invariants) and attempts to prove the correctness of these annotations. It includes tools for monitoring proof attempts and constructing partial counterexample executions for failed proofs. This paper motivates VCC, describes our verification methodology, describes the architecture of VCC, and reports on our experience using VCC to verify the Microsoft Hyper-V hypervisor.

Projects

More links