Dynamic Partial Order Reduction for Checking Correctness against Transaction Isolation Levels
Ahmed Bouajjani, Constantin Enea, Enrique Román-Calvo
Abstract
Modern applications, such as social networking systems and e-commerce platforms are centered around using large-scale databases for storing and retrieving data. Accesses to the database are typically enclosed in transactions that allow computations on shared data to be isolated from other concurrent computations and resilient to failures. Modern databases trade isolation for performance. The weaker the isolation level is, the more behaviors a database is allowed to exhibit and it is up to the developer to ensure that their application can tolerate those behaviors.
In this work, we propose stateless model checking algorithms for studying correctness of such applications that rely on dynamic partial order reduction. These algorithms work for a number of widely-used weak isolation levels, including Read Committed, Causal Consistency, Snapshot Isolation and Serializability. We show that they are complete, sound and optimal, and run with polynomial memory consumption in all cases. We report on an implementation of these algorithms in the context of Java Pathfinder applied to a number of challenging applications drawn from the literature of distributed systems and databases.
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 aba892cd-f3d6-4eed-9050-445a80d88476Cited by top-tier papers5
- Model Checking Distributed Protocols in MustConstantin Enea, Dimitra Giannakopoulou, Michalis Kokologiannakis, Rupak MajumdarOOPSLA 2024 · 5 citations
- IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store ApplicationsChujun Geng, Spyros Blanas, Michael D. Bond, Yang WangPLDI 2024 · 3 citations
- The Complexity of Testing Message-Passing ConcurrencyZheng Shi, Lasse Møldrup, Umang Mathur, Andreas PavlogiannisPOPL 2026 · 2 citations
- Model Checking C/C++ with Mixed-Size AccessesIason Marmanis, Michalis Kokologiannakis, Viktor VafeiadisPOPL 2025 · 2 citations
- Augur: Predicting View Serializability Violations in Relational Data Store ApplicationsChujun Geng, Noah Charlton, Spyros Blanas, Michael D. Bond et al.OOPSLA 2026
Builds on5
- Truly stateless, optimal dynamic partial order reductionMichalis Kokologiannakis, Iason Marmanis, Vladimir Gladstein, Viktor VafeiadisPOPL 2022 · 46 citations
- HMC: Model Checking for Hardware Memory ModelsMichalis Kokologiannakis, Viktor VafeiadisASPLOS 2020 · 29 citations
- Stateless Model Checking Under a Reads-Value-From EquivalencePratyush Agarwal, Krishnendu Chatterjee, Shreya Pathak, Andreas Pavlogiannis et al.CAV 2021 · 25 citations
- MonkeyDB: effectively testing correctness under weak isolation levelsRanadeep Biswas, Diptanshu Kakwani, Jyothi Vedurada, Constantin Enea et al.OOPSLA 2021 · 18 citations
- IsoDiff: Debugging Anomalies Caused by Weak IsolationYifan Gan, Xueyuan Ren, Drew Ripberger, Spyros Blanas et al.VLDB 2020
Related papers
- AWDIT: An Optimal Weak Database Isolation TesterLasse Møldrup, Andreas PavlogiannisPLDI 2025 · 5 citations
- On the Complexity of Checking Mixed Isolation Levels for SQL TransactionsAhmed Bouajjani, Constantin Enea, Enrique Román-CalvoCAV 2025 · 3 citations
- Plume: Efficient and Complete Black-Box Checking of Weak Isolation LevelsSi Liu, Long Gu, Hengfeng Wei, David A. BasinOOPSLA 2024 · 9 citations
- DBStorm: Generating Various Effective Workloads for Testing Isolation LevelsKeqiang Li, Siyang Weng, Lyu Ni, Chengcheng Yang et al.ISSTA 2024 · 5 citations
- Robustness against Read Committed for Transaction TemplatesBrecht Vandevoort, Bas Ketsman, Christoph Koch, Frank NevenVLDB 2021 · 13 citations
