Vbox: Efficient Black-Box Serializability Verification
Weihua Sun, Zhaonian Zou
TL;DR
Vbox presents a universal, black-box method for serializability verification that extends Cobra by supporting predicate operations, leveraging transaction time information, and adopting a simplified SAT formulation with a custom solver. It constructs a richer known graph, reduces constraints, and uses a compact transitive closure to achieve scalable, protocol-agnostic verification. Empirical results show Vbox detects more anomalies and runs significantly faster with lower memory than prior controllers, across real and synthetic workloads up to 100K transactions. The work advances practical, rigorous verification of serializable isolation in DBMS while remaining robust to different concurrency control protocols.
Abstract
Verifying the serializability of transaction histories is essential for users to know if the DBMS ensures the claimed serializable isolation level without potential bugs. Black-box serializability verification is a promising approach. Existing verification methods often have one or more limitations such as incomplete detection of data anomalies, long verification time, high memory usage, or dependence on specific concurrency control protocols. In this paper, a new black-box serializability verification method called \textsf{Vbox} is proposed. \textsf{Vbox} is powered by a number of new techniques, including the support for predicate database operations, comprehensive applications of transactions' time information in the verification process, and a simplified satisfiability (SAT) problem formulation and its efficient solver. In this paper, \textsf{Vbox} is verified to be correct, efficient, and capable of detecting more data anomalies, while not relying on any specific concurrency control protocols.
