@inproceedings{1cb4829e012346cfb145d54d4d75b95d,
title = "Leopard: A Black-Box Approach for Efficiently Verifying Various Isolation Levels",
abstract = "Isolation Levels (IL) act as correct contracts between applications and database management systems (DBMSs). The complex code logic and concurrent interactions among transactions make it a hard problem to expose violations of various ILs stated by DBMSs. With the recent proliferation of new DBMSs, especially the cloud ones, there is an urgent demand for a general way to verify various ILs. The core challenges come from the requirements of: (a) lightweight (verifying without modifying the application logic in workloads and the source code of DBMSs), (b) generality (verifying various ILs), and (c) efficiency (performing efficient verification on a long running workload). For lightweight, we propose to deduce transaction dependencies based on time intervals of operations collected from client-sides without touching the source code of DBMSs. For generality, based on a thorough analysis of existing concurrency control protocols, we summarize and abstract four mechanisms which can implement ILs in all commercial DBMSs we have investigated. For efficiency, we design a two-level pipeline to organize and sort massive time intervals in a time and memory conservative way; we propose a mechanism-mirrored verification to simulate the concurrency control protocols implemented in DBMSs for high throughputs. Leopard outperforms existing methods by up to 114× in verification time with a relative small memory usage. In practice, Leopard has a superpower to verify various ILs on any workload running on all commercial DBMSs. Moreover, it has successfully discovered 23 bugs that cannot be found by other existing methods.",
keywords = "database system, isolation level, verification",
author = "Keqiang Li and Siyang Weng and Peiyuan Liu and Lyu Ni and Chengcheng Yang and Rong Zhang and Xuan Zhou and Jianghang Lou and Gui Huang and Weining Qian and Aoying Zhou",
note = "Publisher Copyright: {\textcopyright} 2023 IEEE.; 39th IEEE International Conference on Data Engineering, ICDE 2023 ; Conference date: 03-04-2023 Through 07-04-2023",
year = "2023",
doi = "10.1109/ICDE55515.2023.00061",
language = "英语",
series = "Proceedings - International Conference on Data Engineering",
publisher = "IEEE Computer Society",
pages = "722--735",
booktitle = "Proceedings - 2023 IEEE 39th International Conference on Data Engineering, ICDE 2023",
address = "美国",
}