Detecting Isolation Bugs via Transaction Oracle Construction
Isolation bugs in Database Management Systems (DBMSs) can cause severe consequences, e.g., incorrect query results and database states. In this paper, we introduce the usage of Troc. Troc is a database transaction testing tool that can detect isolation bugs in DBMSs. Unlike previous tools that can only support simple data structures (e.g., key-value data model) and limited operations (e.g., read(key) and write(key)), it can also support many complex data structures (e.g., various data types and indexes), and access data with complex interface (e.g., reading multiple rows through SQL). Effectively detecting isolation bugs in DBMSs can help developers improve reliability of DBMSs. This paper is to help users make use of Troc and reproduce our previous results. We make Troc publicly available at https://doi.org/10.5281/zenodo.7571423.