Local Verification of Global Invariants in Concurrent Programs

Ernie Cohen, Michal Moskal, Wolfram Schulte, Stephan Tobies

Computer Aided Verification, 22st International Conference, CAV 20010 |

Published by Springer Verlag

Computer Aided Verification, 22st International Conference, CAV 20010

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.