paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SMT solver testing with type and grammar based mutation

基于类型和文法的变异进行 SMT 求解器测试
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 2/10 · 该论文研究SMT求解器的模糊测试与变异生成,虽与形式化验证底层工具相关,但并未涉及用户核心关注的静态分析、LLM/Agent交叉、浮点程序分析或贝叶斯程序分析。引用 0 inbox
Jiwon Park
crossref: 2026-09-12

AI 速览

一句话:提出类型与文法感知的生成式变异策略,用于 SMT 求解器测试,发现 Z3/CVC4 中 158 个 bug。

SMT 求解器是程序分析与验证等安全关键软件的核心组件,其正确性至关重要。自 2009 年以来已有多种面向不同逻辑的模糊测试活动,但现有方法多依赖算子变异或随机生成。本文提出生成式类型感知变异(generative type-aware mutation),它是类型感知算子变异的推广,将变异建立在类型与文法结构之上,以更有效地生成合法且多样的 SMT 公式。作者实现了该策略,并针对 Z3 与 CVC4 开展为期五个月的测试,共报告 158 个 bug,其中包括可追溯到 2016 年早期版本的缺陷。该工作表明类型与文法引导的生成式变异能显著提升 SMT 求解器测试的缺陷发现能力。

问题
SMT 求解器在安全关键应用中广泛使用,需要可靠测试以发现其实现缺陷;现有模糊测试方法在生成合法且多样输入方面存在局限。
方法
提出生成式类型感知变异策略,将类型感知算子变异推广到类型与文法层面,以生成式方式构造和变异 SMT 公式,并实现于针对 Z3 与 CVC4 的测试工具中。
评估
在 Z3 和 CVC4 上开展为期五个月的模糊测试,共报告 158 个 bug,包括来自 2016 年早期版本的缺陷。
原文摘要(Abstract)

Satisfiability Modulo Theories (SMT) solvers are at the core of many software advances such as program analysis and verification which are highly safety-critical. Hence, to ensure the correctness of the solvers, there have been multiple fuzzing campaigns targeting different logics since 2009. In this paper, we propose a generative type-aware mutation strategy, which is a generalization of a type-aware operator mutation. We have realized the generative type-aware mutation and reported 158 bugs in Z3 and CVC4 including bugs from the versions released as early as 2016 in five months.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6378,
  title = {SMT solver testing with type and grammar based mutation},
  author = {Jiwon Park},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3473497}
}