RELINCHE: Automatically Checking Linearizability under Relaxed Memory Consistency
Pavel Golovin, Michalis Kokologiannakis, Viktor Vafeiadis
Abstract
Concurrent libraries implement standard data structures, such as stacks and queues, in a thread-safe manner, typically providing an atomic interface to the data structure. They serve as building blocks for concurrent programs, and incorporate advanced synchronization mechanisms to achieve good performance. In this paper, we are concerned with the problem of verifying correctness of such libraries under weak memory consistency in a fully automated fashion. To this end, we develop R elinche , a model checker that verifies atomicity and functional correctness of a concurrent library implementation in any client program that invokes the library methods up to some bounded number of times. Our tool establishes refinement between the concurrent library implementation and its atomic specification in a fully parallel client, which it then strengthens to capture all possible other (more constrained) clients of the library. R elinche scales sufficiently to verify correctness of standard concurrent library benchmarks for all client programs with up to 7–9 library method invocations, and finds minimal counterexamples with 4-7 method calls of non-trivial linearizability bugs due to weak memory consistency.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext fae07fc0-8017-4bec-b717-b74a40d01c1aCited by top-tier papers2
- Efficient Decrease-and-Conquer Linearizability MonitoringLee Zheng Han, Umang MathurOOPSLA 2025 · 2 citations
- Fixed Parameter Tractable Linearizability MonitoringLee Zheng Han, Umang MathurPLDI 2026
Builds on7
- Truly stateless, optimal dynamic partial order reductionMichalis Kokologiannakis, Iason Marmanis, Vladimir Gladstein, Viktor VafeiadisPOPL 2022 · 46 citations
- VSync: push-button verification and optimization for synchronization primitives on weak memory modelsJonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu et al.ASPLOS 2021 · 40 citations
- The reads-from equivalence for the TSO and PSO memory modelsTruc Lam Bui, Krishnendu Chatterjee, Tushar Gautam, Andreas Pavlogiannis et al.OOPSLA 2021 · 13 citations
- Proving highly-concurrent traversals correctYotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison et al.OOPSLA 2020 · 12 citations
- An Operational Approach to Library Abstraction under Relaxed Memory ConcurrencyAbhishek Kr Singh, Ori LahavPOPL 2023 · 11 citations
Related papers
- Automated Robustness Verification of Concurrent Data Structure Libraries against Relaxed Memory ModelsKartik Nagar, Anmol Sahoo, Romit Roy Chowdhury, Suresh JagannathanOOPSLA 2024 · 1 citation
- Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated SystemsKartik Nagar, Prasita Mukherjee, Suresh JagannathanCAV 2020 · 4 citations
- Compass: strong and compositional library specifications in relaxed memory separation logicHoang-Hai Dang, Jaehwang Jung, Jaemin Choi, Duc-Than Nguyen et al.PLDI 2022 · 19 citations
- A Proof Recipe for Linearizability in Relaxed Memory Separation LogicSunho Park, Jaewoo Kim, Ike Mulder, Jaehwang Jung et al.PLDI 2024 · 4 citations
- Sequential reasoning for optimizing compilers under weak memory concurrencyMinki Cho, Sung-Hwan Lee, Dongjae Lee, Chung-Kil Hur et al.PLDI 2022 · 11 citations
