文件名称:sqlancer:在DBMS中检测逻辑错误
文件大小:3.07MB
文件格式:ZIP
更新时间:2024-02-20 09:27:24
mysql testing sql sqlite dbms
SQLancer SQLancer(综合查询Lancer)是一种工具,用于自动测试数据库管理系统(DBMS),以发现其实现中的逻辑错误。 我们将逻辑错误称为导致DBMS提取错误结果集(例如,通过省略记录)的错误。 SQLancer分为以下两个阶段: 数据库生成:此阶段的目标是创建一个填充的数据库,并向DBMS施加压力,以增加引起不一致的数据库状态的可能性,这种情况随后可被检测到。 首先,创建随机表。 然后,随机选择SQL语句以生成,修改和删除数据。 其他语句,例如用于创建索引和视图以及设置特定于DBMS的选项的语句也发送到DBMS。 测试:此阶段的目标是根据生成的数据库检测逻辑错误。 请参阅下面的测试方法。 入门 要求: Java 8或以上 (在Ubuntu上sudo apt install maven ) 您要测试的DBMS(SQLite是嵌入式DBMS,包括在内) 以下命令克隆SQLancer,创建一个JAR,然后启动SQLancer以使用非优化参考引擎构造(NoREC)测试SQLite: git clone https://github.com/sqlancer