TY - GEN
T1 - Viper
T2 - 18th European Conference on Computer Systems, EuroSys 2023
AU - Zhang, Jian
AU - Ji, Ye
AU - Mu, Shuai
AU - Tan, Cheng
N1 - Publisher Copyright:
© 2023 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2023/5/8
Y1 - 2023/5/8
N2 - Snapshot isolation (SI) is supported by most commercial databases and is widely used by applications. However, checking SI today—given a set of transactions, checking if they obey SI—is either slow or gives up soundness. We present viper, an SI checker that is sound, complete, and fast. Viper checks black-box databases and hence is transparent to both users and databases. To be fast, viper introduces BC-polygraphs, a new representation of transaction dependencies. A BC-polygraph is acyclic iff transactions are SI, a theorem that we prove. Viper also introduces heuristic pruning, an optimization to accelerate checking SI by leveraging common knowledge of real-world database implementations. Besides vanilla SI, viper supports major SI variants including Strong SI, Generalized SI, and Strong Session SI. Our experiments show that given the same time budget, viper improves over baselines by 15× in the workload sizes being checked.
AB - Snapshot isolation (SI) is supported by most commercial databases and is widely used by applications. However, checking SI today—given a set of transactions, checking if they obey SI—is either slow or gives up soundness. We present viper, an SI checker that is sound, complete, and fast. Viper checks black-box databases and hence is transparent to both users and databases. To be fast, viper introduces BC-polygraphs, a new representation of transaction dependencies. A BC-polygraph is acyclic iff transactions are SI, a theorem that we prove. Viper also introduces heuristic pruning, an optimization to accelerate checking SI by leveraging common knowledge of real-world database implementations. Besides vanilla SI, viper supports major SI variants including Strong SI, Generalized SI, and Strong Session SI. Our experiments show that given the same time budget, viper improves over baselines by 15× in the workload sizes being checked.
KW - Databases
KW - Verification
UR - https://www.scopus.com/pages/publications/85160209685
U2 - 10.1145/3552326.3567492
DO - 10.1145/3552326.3567492
M3 - Conference contribution
AN - SCOPUS:85160209685
T3 - Proceedings of the 18th European Conference on Computer Systems, EuroSys 2023
SP - 654
EP - 671
BT - Proceedings of the 18th European Conference on Computer Systems, EuroSys 2023
PB - Association for Computing Machinery, Inc
Y2 - 8 May 2023 through 12 May 2023
ER -