Thread-modular Analysis of Release-Acquire Concurrency
We present a thread-modular abstract interpretation(TMAI) technique to verify programs under the release-acquire (RA) memory model for safety property violations. The main contributions of our work are: we capture the execution order of program statements as an abstract domain, and propose a sound u...
Saved in:
Main Authors | , |
---|---|
Format | Journal Article |
Language | English |
Published |
05.07.2021
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | We present a thread-modular abstract interpretation(TMAI) technique to verify
programs under the release-acquire (RA) memory model for safety property
violations. The main contributions of our work are: we capture the execution
order of program statements as an abstract domain, and propose a sound upper
approximation over this domain to efficiently reason over RA concurrency. The
proposed domain is general in its application and captures the ordering
relations as a first-class feature in the abstract interpretation theory. In
particular, the domain represents a set of sequences of modifications of a
global variable in concurrent programs as a partially ordered set. Under this
approximation, older sequenced-before stores of a global variable are forgotten
and only the latest stores per variable are preserved. We establish the
soundness of our proposed abstractions and implement them in a prototype
abstract interpreter called PRIORI. The evaluations of PRIORI on existing and
challenging RA benchmarks demonstrate that the proposed technique is not only
competitive in refutation, but also in verification. PRIORI shows significantly
fast analysis runtimes with higher precision compared to recent
state-of-the-art tools for RA concurrency. |
---|---|
DOI: | 10.48550/arxiv.2107.02346 |