The Ghosts of Empires: Extracting Modularity from Interleaving-Based Proofs (Extended Version)
Frank Schüssele, Matthias Zumkeller, Miriam Lagunes-Rochin, Dominik Klumpp
TL;DR
The paper tackles the exponential blow-up of interleaving-based correctness proofs for concurrent programs by automatically converting them into compact thread-modular proofs in the style of Owicki-Gries. It introduces empires as an abstract representation of interleaving information and shows how ghost variables can encode this information to enable valid OG annotations. Through symbolic execution, it builds saturated empires that group control states into regions and territories, yielding smaller, more modular proofs. A focused variant distributes invariant-domain information to reduce annotation size further. Empirical evaluation demonstrates substantial gains in annotation compactness and validation efficiency, suggesting practical applicability for certifying verifier soundness and increasing trust in verification results.
Abstract
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.
