๐ค AI Summary
Verifying strong isolation levels (e.g., strict serializability, snapshot isolation) in production databases via black-box testing incurs high overhead and low efficiency due to costly history generation and validation.
Method: This paper introduces Mini-Transactions (MTs)โsemantically rich, concise read-modify-write workloads that replace conventional long, random transactions. MTs reduce blocking and retry probabilities and enable efficient isolation verification with linear or quadratic time complexity. We design an MT modeling methodology, MT-based verification algorithms, an automated MT generation framework, and black-box techniques for history collection and isolation violation detection.
Contribution/Results: Our implementation, MTC, outperforms state-of-the-art tools in both history generation and verification speed. It successfully uncovers real-world isolation bugs across multiple mainstream databases under diverse isolation levels, achieving high coverage while substantially reducing detection cost.
๐ Abstract
Transactional isolation guarantees are crucial for database correctness. However, recent studies have uncovered numerous isolation bugs in production databases. The common black-box approach to isolation checking stresses databases with large, concurrent, randomized transaction workloads and verifies whether the resulting execution histories satisfy specified isolation levels. For strong isolation levels such as strict serializability, serializability, and snapshot isolation, this approach often incurs significant end-to-end checking overhead during both history generation and verification. We address these inefficiencies through the novel design of Mini-Transactions (MTs). MTs are compact, short transactions that execute much faster than general workloads, reducing overhead during history generation by minimizing database blocking and transaction retries. By leveraging MTs' read-modify-write pattern, we develop highly efficient algorithms to verify strong isolation levels in linear or quadratic time. Despite their simplicity, MTs are semantically rich and effectively capture common isolation anomalies described in the literature. We implement our verification algorithms and an MT workload generator in a tool called MTC. Experimental results show that MTC outperforms state-of-the-art tools in both history generation and verification. Moreover, MTC can detect bugs across various isolation levels in production databases while maintaining the effectiveness of randomized testing with general workloads, making it a cost-effective solution for black-box isolation checking.