Conformance Testing of Relational DBMS Against SQL Specifications
CoRR(2024)
Abstract
A Relational Database Management System (RDBMS) is one of the fundamental
software that supports a wide range of applications, making it critical to
identify bugs within these systems. There has been active research on testing
RDBMS, most of which employ crash or use metamorphic relations as the oracle.
Although existing approaches can detect bugs in RDBMS, they are far from
comprehensively evaluating the RDBMS's correctness (i.e., with respect to the
semantics of SQL). In this work, we propose a method to test the semantic
conformance of RDBMS i.e., whether its behavior respects the intended semantics
of SQL. Specifically, we have formally defined the semantics of SQL and
implemented them in Prolog. Then, the Prolog implementation serves as the
reference RDBMS, enabling differential testing on existing RDBMS. We applied
our approach to four widely-used and thoroughly tested RDBMSs, i.e., MySQL,
TiDB, SQLite, and DuckDB. In total, our approach uncovered 19 bugs and 11
inconsistencies, which are all related to violating the SQL specification or
missing/unclear specification, thereby demonstrating the effectiveness and
applicability of our approach.
MoreTranslated text
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined