Validating Database System Isolation Level Implementations with Version Certificate Recovery
Jack Clark, Alastair F. Donaldson, John Wickerson, Manuel Rigger
摘要
Transactions are a key feature of database systems and isolation levels specify the behavior of concurrently executing transactions. Ensuring their correct behavior is crucial. Recently, many isolation anomalies have been found in production database systems. Checkers can be used to validate that a particular execution conforms to a desired isolation level. However, state-of-the-art checkers cannot handle predicate operations, which are both common in real-world workloads and essential for distinguishing between the repeatable read and serializable isolation levels. In this work, we address this issue by proposing an efficient white-box checker, Emme. Our key idea is to use information that is easily provided by database systems to efficiently check the isolation level of a given transaction history. We present version certificate recovery, a method of recovering the version order and each operation's version from the database system under test. For efficiency, we also propose the concept of an expected serialization order, which obviates the need to define and recover a version certificate for many serializable concurrency control protocols. We have implemented version certificate recovery for three widely used database systems---PostgreSQL, CockroachDB, and TiDB. We demonstrate that Emme is 1.2-3.6× faster than Elle, a state-of-the-art checker. Using the expected serialization order, we obtain a further speedup of 34-430× compared to Emme when checking histories containing predicate operations. We show that our approach can identify invalid histories that cannot be detected by Elle and also show that it can find realistic bugs purposely introduced by an engineer.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper10
- Plume: Efficient and Complete Black-Box Checking of Weak Isolation LevelsSi Liu, Long Gu, Hengfeng Wei, David A. BasinOOPSLA 2024 · 被引用 9 次
- 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 等VLDB 2025 · 被引用 4 次
- Detecting Isolation Anomalies in Relational DBMSsRui Yang, Ziyu Cui, Wensheng Dou, Yu Gao 等ISSTA 2025 · 被引用 3 次
- Boosting End-to-End Database Isolation Checking via Mini-TransactionsHengfeng Wei, Jiang Xiao, Na Yang, Si Liu 等ICDE 2025 · 被引用 3 次
- Lemonshark: Asynchronous DAG-BFT With Early FinalityMichael Yiqing Hu, Alvin Hong Yao Yan, Yihan Yang, Xiang Liu 等NSDI 2026 · 被引用 1 次
它引用的顶会 Paper6
- Testing Database Engines via Pivoted Query SynthesisManuel Rigger, Zhendong SuOSDI 2020 · 被引用 150 次
- Finding bugs in database systems via query partitioningManuel Rigger, Zhendong SuOOPSLA 2020 · 被引用 116 次
- Detecting optimization bugs in database engines via non-optimizing reference engine constructionManuel Rigger, Zhendong SuFSE 2020 · 被引用 104 次
- Elle: Inferring Isolation Anomalies from Experimental ObservationsPeter Alvaro, Kyle KingsburyVLDB 2021 · 被引用 88 次
- Cobra: Making Transactional Key-Value Stores Verifiably SerializableCheng Tan, Changgeng Zhao, Shuai Mu, Michael WalfishOSDI 2020 · 被引用 61 次
相关 Paper
- Vbox: Efficient Black-Box Serializability VerificationWeihua Sun, Zhaonian ZouISSTA 2026
- Leopard: A Black-Box Approach for Efficiently Verifying Various Isolation LevelsKeqiang Li, Siyang Weng, Peiyuan Liu, Lyu Ni 等ICDE 2023 · 被引用 3 次
- DBStorm: Generating Various Effective Workloads for Testing Isolation LevelsKeqiang Li, Siyang Weng, Lyu Ni, Chengcheng Yang 等ISSTA 2024 · 被引用 5 次
- Online Timestamp-Based Transactional Isolation Checking of Database SystemsHexu Li, Hengfeng Wei, Hongrong Ouyang, Yuxing Chen 等ICDE 2025 · 被引用 1 次
- AWDIT: An Optimal Weak Database Isolation TesterLasse Møldrup, Andreas PavlogiannisPLDI 2025 · 被引用 5 次
