返回
A High-Performance Black-Box Bug-Finding Tool for Database Isolation Levels
DOI:10.1109/TKDE.2026.3676641.png)
摘要
En 中文
隔离级别(IL)作为应用程序与数据库管理系统(DBMS)之间的正确合约。事务复杂的代码逻辑和并发交互使得难以暴露DBMS所声明的各种IL的违规情况。随着新型DBMS,特别是云DBMS的迅速发展,迫切需要一种通用的方法来检测违反各种IL的错误。核心挑战来自以下要求:(a) 轻量级(在不修改工作负载的应用逻辑和DBMS源代码的情况下进行验证),(b) 通用性(验证各种IL),以及(c) 高效性(对长时间运行的工作负载进行高效验证)。为此,我们提出了一种强大且实用的错误检测工具Leopard。为了实现轻量级,我们提出基于从客户端收集的操作时间间隔来推断事务依赖关系,而无需修改DBMS的源代码。为了实现通用性,基于对现有并发控制协议的深入分析,我们总结并抽象出四种可以在我们研究的所有商业DBMS中实现IL的机制。为了提高效率,我们设计了一个两阶段流水线,以时间和内存保守的方式组织和排序大量时间间隔;我们提出了一种机制镜像验证,以模拟DBMS中实现的并发控制协议,实现高吞吐量。实验结果表明,Leopard在性能上优于现有的Cobra和Elle方法。在实际应用中,Leopard能够验证在各种工作负载和所有商业DBMS上的各种IL。此外,它还发现了其他现有方法未检测到的49个错误。
Keyword:
Transaction databases
concurrency control
system testing
期刊
IF:
10.4
论文数:
6.9K
被引数:
3.2W

