Automated Test Case Reduction for SQLancer with delta-debugging and SQL parser-tree transforms
- Mentors
- Yichen Yan
- Organization
- SQLancer
- Technologies
- java, sql, database
- Topics
- testing, database
SQLancer randomly generates test cases consisting of potentially hundreds or thousands of SQL statements. In order to efficiently identify bugs in these statements, automatic reduction is needed to systematically remove the bug inducing statements until a minimal bug-triggering test case is derived.
To improve the efficiency and effectiveness of SQLancer for bug detection and resolution in various DBMSs, I propose to undertake the following tasks:
1. Implement delta-debugging algorithms for statement reduction in SQLancer to improve efficiency and speed.
2. Define parser-tree transforms to simplify SQL statements. Since SQL syntax varies among DBMSs, generic parser-tree transforms that can be applied across multiple DBMSs will be implemented, such as removing expression nodes or removing certain clauses from the statement.
3. Generalize statement reduction to additional DBMSs by adding bug reproducers to them.
The deliverables for this project include:
1. A delta-debugging algorithm that can reduce the bug-inducing statement.
2. Generic parser-tree transforms that simplify SQL statements.
3. Support of statement reduction for more DBMSs.