Boosting End-to-End Database Isolation Checking via Mini-Transactions (Extended Version)

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wei, Hengfeng, Xiao, Jiang, Yang, Na, Liu, Si, Yin, Zijing, Chen, Yuxing, Pan, Anqun
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912307040223232
author Wei, Hengfeng
Xiao, Jiang
Yang, Na
Liu, Si
Yin, Zijing
Chen, Yuxing
Pan, Anqun
author_facet Wei, Hengfeng
Xiao, Jiang
Yang, Na
Liu, Si
Yin, Zijing
Chen, Yuxing
Pan, Anqun
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2504_02344
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Boosting End-to-End Database Isolation Checking via Mini-Transactions (Extended Version)
Wei, Hengfeng
Xiao, Jiang
Yang, Na
Liu, Si
Yin, Zijing
Chen, Yuxing
Pan, Anqun
Databases
Software Engineering
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.
title Boosting End-to-End Database Isolation Checking via Mini-Transactions (Extended Version)
topic Databases
Software Engineering
url https://arxiv.org/abs/2504.02344