Testing Database Engines via Pivoted Query Synthesis
Manuel Rigger, Zhendong Su

TL;DR
This paper introduces Pivoted Query Synthesis, a novel method for testing database engines by generating specific queries to detect logic bugs, leading to the discovery of numerous bugs in popular DBMS.
Contribution
The paper presents a new approach for logic bug detection in DBMS that overcomes dialect differences by automatically generating targeted queries.
Findings
Discovered 123 bugs across SQLite, MySQL, and PostgreSQL
99 bugs have been fixed or verified
Approach is highly effective and general
Abstract
Relational databases are used ubiquitously. They are managed by database management systems (DBMS), which allow inserting, modifying, and querying data using a domain-specific language called Structured Query Language (SQL). Popular DBMS have been extensively tested by fuzzers, which have been successful in finding crash bugs. However, approaches to finding logic bugs, such as when a DBMS computes an incorrect result set, have remained mostly untackled. Differential testing is an effective technique to test systems that support a common language by comparing the outputs of these systems. However, this technique is ineffective for DBMS, because each DBMS typically supports its own SQL dialect. To this end, we devised a novel and general approach that we have termed Pivoted Query Synthesis. The core idea of this approach is to automatically generate queries for which we ensure that they…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Advanced Database Systems and Queries · Logic, programming, and type systems
