Differentially Testing Database Transactions for Fun and ProfitVirtual
Database Management Systems (DBMSs) utilize transactions to ensure the consistency and integrity of data. Incorrect transaction implementations in DBMSs can lead to severe consequences, e.g., incorrect database states and query results. Therefore, it is critical to ensure the reliability of transaction implementations.
In this paper, we propose \emph{DT$^2$}, an approach for automatically testing transaction implementations in DBMSs. We first randomly generate a database and a group of concurrent transactions operating the database, which can support complex features in DBMSs, e.g., various database schemas and cross-table queries. We then leverage differential testing to compare transaction execution results on multiple DBMSs to find discrepancies. The effectiveness of our method is heavily impaired by the non-determinism of concurrent transactions. Therefore, we propose a transaction test protocol to ensure the deterministic execution of concurrent transactions.
We evaluate DT$^2$ on three widely-used MySQL-compatible DBMSs, i.e., MySQL, MariaDB and TiDB. In total, we have detected 10 unique transaction bugs and 88 transaction-related compatibility issues from the observed discrepancies. Our empirical study on these compatibility issues shows that DBMSs suffer from various transaction-related compatibility issues, although they claim that they are compatible. These compatibility issues can also lead to serious consequences, e.g., inconsistent database states among DBMSs.
Thu 13 OctDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:30 | Technical Session 26 - Testing IIIResearch Papers / Industry Showcase at Banquet B Chair(s): Owolabi Legunsen Cornell University | ||
13:30 20mResearch paper | PredART: Towards Automatic Oracle Prediction of Object Placements in Augmented Reality Testing Research Papers Tahmid Rafi University of Texas at San Antonio, Xueling Zhang Rochester Institute of Technology, Xiaoyin Wang University of Texas at San Antonio | ||
13:50 20mResearch paper | Neuroevolution-Based Generation of Tests and Oracles for Games Research Papers Pre-print | ||
14:10 20mIndustry talk | WOLFFI: A fault injection platform for learning AIOps models Industry Showcase Frank Bagehorn IBM Research, Jesus Rios IBM Research, Saurabh Jha IBM Research, Robert Filepp IBM Research, Larisa Shwartz IBM T.J. Watson Research, Naoki Abe IBM, Xi Yang IBM Research | ||
14:30 20mResearch paper | Learning to Construct Better Mutation FaultsVirtualACM SIGSOFT Distinguished Paper Award Research Papers Zhao Tian Tianjin University, Junjie Chen Tianjin University, Qihao Zhu Peking University, Junjie Yang College of Intelligence and Computing, Tianjin University, Lingming Zhang University of Illinois at Urbana-Champaign DOI Pre-print | ||
14:50 20mResearch paper | Differentially Testing Database Transactions for Fun and ProfitVirtual Research Papers Ziyu Cui Institute of Software, Chinese Academy of Sciences, Wensheng Dou Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Qianwang Dai Institute of Software, Chinese Academy of Sciences, Jiansen Song , Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Dan Ye Institute of Software, Chinese Academy of Sciences |