Reasoning About TSO Programs Using Reduction and Abstraction
Ahmed Bouajjani, Constantin Enea, Suha Orhun Mutluergil, Serdar, Tasiran

TL;DR
This paper introduces a method to verify robustness of TSO programs by reduction and abstraction, enabling the use of SC-based proofs for programs with complex memory behaviors.
Contribution
It presents a novel reduction and abstraction framework for proving TSO robustness and extends proof techniques to non-robust programs using over-approximation.
Findings
Effective verification of TSO robustness demonstrated on benchmarks.
Abstraction mechanism enables SC-based reasoning for non-robust programs.
Framework integrated into CIVL tool for practical analysis.
Abstract
We present a method for proving that a program running under the Total Store Ordering (TSO) memory model is robust, i.e., all its TSO computations are equivalent to computations under the Sequential Consistency (SC) semantics. This method is inspired by Lipton's reduction theory for proving atomicity of concurrent programs. For programs which are not robust, we introduce an abstraction mechanism that allows to construct robust programs over-approximating their TSO semantics. This enables the use of proof methods designed for the SC semantics in proving invariants that hold on the TSO semantics of a non-robust program. These techniques have been evaluated on a large set of benchmarks using the infrastructure provided by CIVL, a generic tool for reasoning about concurrent programs under the SC semantics.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
