Verification of the Release-Acquire Semantics
Parosh Abdulla, Elli Anastasiadi, Mohamed Faouzi Atig, Samuel Grahn

TL;DR
This paper investigates the complexity of verifying whether concurrent program executions adhere to Release-Acquire semantics and its variants, providing complexity bounds and insights into register machine models.
Contribution
It establishes the computational complexity of verifying RA, SRA, and WRA semantics in register machines, filling a key gap in formal verification research.
Findings
Verifying WRA is in O(n^5) complexity.
Verifying RA and SRA is NP- and coNP-hard.
Provides a PSPACE upper bound for the verification problem.
Abstract
The Release-Acquire (RA) semantics and its variants are some of the most fundamental models of concurrent semantics for architectures, programming languages, and distributed systems. Several steps have been taken in the direction of testing such semantics, where one is interested in whether a single program execution is consistent with a memory model. The more general verification problem, i.e., checking whether all allowed program runs are consistent with a memory model, has still not been studied as much. The purpose of this work is to bridge this gap. We tackle the verification problem, where, given an implementation described as a register machine, we check if any of its runs violates the RA semantics or its Strong (SRA) and Weak (WRA) variants. We show that verifying WRA in this setup is in O([)n5 ], while verifying the RA and SRA is in both NP- and coNP-hard, and provide a PSPACE…
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
TopicsFormal Methods in Verification · Distributed systems and fault tolerance · Logic, programming, and type systems
