paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SQLynx: Towards Generic Mutation-Based Fuzzing for DBMSs Across Diverse Dialects

SQLynx:迈向跨多样 SQL 方言 DBMS 的通用变异模糊测试
FSE Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering2026匹配度 1/10 · 该论文研究的是DBMS的变异模糊测试与跨SQL方言测试,属于软件测试/动态分析方向,与用户关注的静态分析、LLM/Agent 与程序分析交叉、浮点程序分析及贝叶斯程序分析均无直接关联。引用 0 inbox
Runpei Miao, Jie Liang, Zhiyong Wu, Jingzhou Fu, Yu Jiang, Shuai Ma
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出通用变异模糊测试器 SQLynx,借助结构语料变异与动态实例化实现跨 SQL 方言的 DBMS 测试。

DBMS 复杂度上升易引入缺陷,模糊测试虽有效,但 SQL 方言多样导致现有工具需大量人工适配,且覆盖语法特征有限。SQLynx 是面向多方言 DBMS 的基于变异模糊测试器:通用变异基于 SQL 结构语料重构语句,生成与方言无关的多样语法结构;动态实例化利用目标数据库模式信息,将语句实例化为语义有效查询。作者实现 SQLynx 并在 MySQL、PostgreSQL 等六个常用 DBMS 上评估,总适配代码 1094 行,少于现有 fuzzer。与 Squirrel、BuzzBee、Lego、SQLsmith 相比,24 小时内分支覆盖分别提高 34%、153%、66%、41%,并多触发 8、10、7、10 个 bug。

问题
DBMS 日益复杂,SQL 方言差异迫使现有 DBMS fuzzer 进行大量人工适配,且适配后仅覆盖有限语法特征,遗漏缺陷。
方法
提出 SQLynx,通过基于 SQL 结构语料的通用变异实现方言无关的语法结构生成,并利用目标数据库 schema 动态实例化语义有效语句。
评估
在六个广泛使用的 DBMS(含 MySQL、PostgreSQL)上实现并评估,与 Squirrel、BuzzBee、Lego、SQLsmith 比较分支覆盖与 24 小时发现 bug 数。
原文摘要(Abstract)

DBMSs play a critical role in modern software ecosystems, but their increasing complexity inevitably leads to bugs. DBMS fuzzing has proven highly effective in uncovering bugs in DBMSs. However, the diversity of SQL dialects requires extensive manual adaptation to accommodate various grammar features. Moreover, such adaptations limit fuzzing to a narrow range of grammar features, leaving many bugs undetected. In this paper, we propose SQLynx, a mutation-based DBMS fuzzer aiming at generic fuzzing across dialects with generic mutation and dynamic instantiation. The generic mutation reconstructs SQL statements based on a SQL structure corpus, enabling dialect-independent generation of diverse grammar structures. The dynamic instantiation leverages schema information from the target database to instantiate semantically valid statements. We implement SQLynx and evaluate it on six widely used DBMSs, including MySQL and PostgreSQL. Adapting these DBMSs with SQLynx required 1,094 lines of code in total, which is fewer than existing fuzzers. Compared with state-of-the-art DBMS fuzzers Squirrel, BuzzBee, Lego, and SQLsmith, SQLynx covered 34%, 153%, 66%, and 41% more branches, and triggered 8, 10, 7, 10 more bugs in 24 hours, respectively, demonstrating its effectiveness. Video link: https://youtu.be/QHIGF8oDEA4

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{MiaoLWFJM26,
  title = {SQLynx: Towards Generic Mutation-Based Fuzzing for DBMSs Across Diverse Dialects},
  author = {Runpei Miao and Jie Liang and Zhiyong Wu and Jingzhou Fu and Yu Jiang and Shuai Ma},
  booktitle = {FSE},
  year = {2026},
  doi = {10.1145/3803437.3806405}
}