
Registered user since Mon 11 Dec 2017
Contributions
View general profile
Registered user since Mon 11 Dec 2017
Contributions
Research Papers
Thu 13 Oct 2022 14:50 - 15:10 at Banquet B - Technical Session 26 - Testing III Chair(s): Owolabi LegunsenDatabase 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.