SQLancer SQLancer(综合查询Lancer)是一种工具,用于自动测试数据库管理系统(DBMS),以发现其实现中的逻辑错误。 我们将逻辑错误称为导致DBMS提取错误结果集(例如,通过省略记录)的错误。 SQLancer分为以下两个阶段: 数据库生成:此阶段的目标是创建一个填充的数据库,并向DBMS施加压力,以增加引起不一致的数据库状态的可能性,这种情况随后可被检测到。 首先,创建随机表。 然后,随机选择SQL语句以生成,修改和删除数据。 其他语句,例如用于创建索引和视图以及设置特定于DBMS的选项的语句也发送到DBMS。 测试:此阶段的目标是根据生成的数据库检测逻辑错误。