The Ghosts of Empires: Extracting Modularity from Interleaving-Based Proofs (Extended Version)
By: Frank Schüssele , Matthias Zumkeller , Miriam Lagunes-Rochin and more
Potential Business Impact:
Makes computer checks more trustworthy and bug-free.
Implementation bugs threaten the soundness of algorithmic software verifiers. Generating correctness certificates for correct programs allows for efficient independent validation of verification results, and thus helps to reveal such bugs. Automatic generation of small, compact correctness proofs for concurrent programs is challenging, as the correctness arguments may depend on the particular interleaving, which can lead to exponential explosion. We present an approach that converts an interleaving-based correctness proof, as generated by many algorithmic verifiers, into a thread-modular correctness proof in the style of Owicki and Gries. We automatically synthesize ghost variables that capture the relevant interleaving information, and abstract away irrelevant details. Our evaluation shows that the approach is efficient in practice and generates compact proofs, compared to a baseline.
Similar Papers
The Ghosts of Empires: Extracting Modularity from Interleaving-Based Proofs (Extended Version)
Programming Languages
Proves computer programs are correct, finding hidden mistakes.
Dissect-and-Restore: AI-based Code Verification with Transient Refactoring
Software Engineering
Helps computers check if code works perfectly.
Dissect-and-Restore: AI-based Code Verification with Transient Refactoring
Software Engineering
AI helps check computer code for mistakes.