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 Seiten 23-42 Lecture Notes in Computer Science (LNCS) 5674 ISBN 978-3-642-03358-2 Springer 8/2009.


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.


Weitere Links

Deutsches Forschungszentrum für Künstliche Intelligenz
German Research Center for Artificial Intelligence