Local Verification of Global Invariants in Concurrent Programs

Ernie Cohen, Michal Moskal, Wolfram Schulte, and Stephan Tobies

Abstract

We describe a practical method for reasoning about realistic concurrent programs. Our method allows global two-state invariants that restrict update of shared state. We provide simple, sufficient conditions for checking those global invariants modularly.

The method has been implemented in VCC, an automatic, sound, modular verifier for concurrent C programs. VCC has been used to verify functional correctness of tens of thousands of lines of Microsoft's Hyper-V virtualization platform and of SYSGO's embedded real-time operating system PikeOS.

Details

Publication typeTechReport
NumberMSR-TR-2010-9
PublisherSpringer Verlag

Previous versions

Ernie Cohen, Michal Moskal, Wolfram Schulte, and Stephan Tobies. A Practical Verification Methodology for Concurrent Programs, Microsoft, February 2009.

> Publications > Local Verification of Global Invariants in Concurrent Programs