{"repo":"sqlancer/sqlancer","free":true,"listed":false,"github":"https://github.com/sqlancer/sqlancer","clone":"git clone https://github.com/sqlancer/sqlancer.git","description":"Automated testing to find logic and performance bugs in database systems","language":"Java","stars":1746,"topics":["testing","sql","dbms","fuzzing","dbms-testing","sqlite","mysql","postgresql","mariadb","tidb"],"license":"MIT","category":"databases-storage","readme_excerpt":"SQLancer is a tool to automatically test Database Management Systems (DBMSs) in order to find bugs in their implementation. That is, it finds bugs in the code of the DBMS implementation, rather than in queries written by the user. SQLancer has found hundreds of bugs in mature and widely-known DBMSs. SQLancer tackles two essential challenges when automatically testing the DBMSs: 1. Test input generation : SQLancer implements approaches for automatically generating SQL statements. It contains various hand-written SQL generators that operate in multiple phases. First, a database schema is created, which refers to a set of tables and their columns. Then, data is inserted into these tables, along with creating various other kinds of database states such as indexes, views, or database-specific options. Finally, queries are generated, which can be validated using one of multiple result validators (also called test oracles ) that SQLancer provides. Besides the standard approach of creating the statements in an unguided way, SQLancer also supports a test input-generation approach that is feedback-guided and aims to exercise as many unique query plans as possible based on the intuition that doing so would exercise many interesting behaviors in the database system [[ICSE '23]](https://arxiv.org/pdf/2312.17510). 2. Test oracles : A key innovation in SQLancer is that it provides ways to find deep kinds of bugs in DBMSs. As a main focus, it can find logic bugs, which are bugs that cause th","default_branch":null,"files":null,"tree":[],"storefront":"/r/sqlancer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sqlancer/sqlancer/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}