Optimal Stateless Model Checking under the Release-Acquire Semantics
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bengt Jonsson, Tuan, Phong Ngo

TL;DR
This paper introduces an optimal stateless model checking framework for concurrent programs under the Release-Acquire memory model, focusing on read-from relations to improve efficiency and avoid redundancy.
Contribution
It presents a novel approach that explores only program orders and read-from relations, achieving provable optimality and improved performance over existing methods.
Findings
Tracer outperforms state-of-the-art tools in speed
The approach reduces redundancy by avoiding coherence order exploration
Experiments validate the efficiency of the proposed framework
Abstract
We present a framework for the efficient application of stateless model checking (SMC) to concurrent programs running under the Release-Acquire (RA) fragment of the C/C++11 memory model. Our approach is based on exploring the possible program orders, which define the order in which instructions of a thread are executed, and read-from relations, which specify how reads obtain their values from writes. This is in contrast to previous approaches, which also explore the possible coherence orders, i.e., orderings between conflicting writes. Since unexpected test results such as program crashes or assertion violations depend only on the read-from relation, we avoid a potentially significant source of redundancy. Our framework is based on a novel technique for determining whether a particular read-from relation is feasible under the RA semantics. We define an SMC algorithm which is provably…
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.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Formal Methods in Verification · Security and Verification in Computing
