Automatically testing database systems

Technologies
java, sql
Topics
fuzzing, Automated Testing, Logic bugs, Database systems
Automatically testing database systems
SQLancer is an automated testing tool that finds logic bugs in database systems (rather than in the databases themselves). Logic bugs are bugs that cause a database system to compute an incorrect result for a given query and a database on which the query is executed. To that end, SQLancer semi-randomly generates databases and queries, whose results are then automatically validated. SQLancer has found hundreds of bugs in database systems such as SQLite, MySQL, DuckDB, CockroachDB, and TiDB.

Projects

Contributor
Yutan Yang
Mentor
Yichen Yan
Organization
SQLancer
Automated Test Case Reduction for SQLancer with delta-debugging and SQL parser-tree transforms
SQLancer randomly generates test cases consisting of potentially hundreds or thousands of SQL statements. In order to efficiently identify bugs in...
Contributor
Zhenglin Li
Mentor
Jinsheng Ba
Organization
SQLancer
Adding Support for and Testing New Database Systems
SQLancer is an open-source tool for testing the correctness of SQL database systems and supports close to 20 database systems. The goal of this...