Repairing serializability bugs in distributed database programs via automated schema refactoring
Kia Rahmani, Kartik Nagar, Benjamin Delaware, Suresh Jagannathan
Abstract
Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high performance cost, especially on geographically distributed database clusters. Consequently, many databases allow programmers to choose when a transaction must be executed under serializability, with the expectation that transactions would only be so marked when necessary to avoid serious concurrency bugs. However, this is a significant burden to impose on developers, requiring them to (a) reason about subtle concurrent interactions among potentially interfering transactions, (b) determine when such interactions would violate desired invariants, and (c) then identify the minimum number of transactions whose executions should be serialized to prevent these violations. To mitigate this burden, this paper presents a sound and fully automated schema refactoring procedure that transforms a program's data layout -rather than its concurrency control logic -to eliminate statically identified concurrency bugs, allowing more transactions to be safely executed under weaker and more performant database guarantees. Experimental results over a range of realistic database benchmarks indicate that our approach is highly effective in eliminating concurrency bugs, with safe refactored programs showing an average of 120% higher throughput and 45% lower latency compared to a serialized baseline.
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 6743d69d-a90f-44f2-a70d-1fcf6c38ffbcCited by top-tier papers3
- Hamband: RDMA replicated data typesFarzin Houshmand, Javad Saberlatibari, Mohsen LesaniPLDI 2022 · 4 citations
- reformulator: Automated Refactoring of the N+1 Problem in Database-Backed ApplicationsAlexi Turcotte, Mark W. Aldrich, Frank TipASE 2022 · 3 citations
- Graphiti: Bridging Graph and Relational Database QueriesYang He, Ruijie Fang, Isil Dillig, Yuepeng WangPLDI 2025 · 3 citations
Related papers
- Simple Testing Can Expose Most Critical Transaction Bugs: Understanding and Detecting Write-Specific Serializability Violations in Database SystemsZiyu Cui, Wensheng Dou, Yu Gao, Rui Yang et al.VLDB 2025 · 4 citations
- VerIso: Verifiable Isolation Guarantees for Database TransactionsShabnam Ghasemirad, Si Liu, Christoph Sprenger, Luca Multazzu et al.VLDB 2025 · 6 citations
- Robustness against Read Committed for Transaction TemplatesBrecht Vandevoort, Bas Ketsman, Christoph Koch, Frank NevenVLDB 2021 · 13 citations
- Fast Verification of Strong Database IsolationZhiheng Cai, Si Liu, Hengfeng Wei, Yuxing Chen et al.VLDB 2026
- Morty: Scaling Concurrency Control with Re-ExecutionMatthew Burke, Florian Suri-Payer, Jeffrey Helt, Lorenzo Alvisi et al.EuroSys 2023 · 7 citations
