paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations

Diver:基于预言引导和无限制随机变异的 SMT 求解器测试
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 4/10 · 该论文属于形式化验证/SMT 求解器测试方向,与静态分析和形式化验证的基础设施相关,且具有工程实现与工业工具验证价值;但它未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等用户当前核心交叉方向,因此仅为边缘相关。引用 7 inbox
Jongwook Kim, Sunbeom So, Hakjoo Oh
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 Diver,以预言引导的无限制随机变异测试 SMT 求解器,发现 25 个新缺陷,其中 21 个关键。

SMT 求解器正成为许多应用的基础组件,因此保证其正确性非常重要。现有测试方法分为差分测试和预言引导两类,但前者难以验证求解器独有且重要的特性,后者因依赖有限的变异规则而无法生成多样化测试。本文提出 Diver,一种预言引导但无限制随机变异的 SMT 求解器测试技术,旨在发现现有方法遗漏的关键缺陷。作者将 Diver 用于验证 CVC5、Z3 和 dReal 的最新版本,共发现 25 个新缺陷,其中 21 个是直接影响求解器可靠性的关键缺陷;实验还表明,现有工具不太可能发现 Diver 所发现的这些缺陷。

问题
SMT 求解器被广泛用作基础组件,其正确性至关重要;现有差分测试无法验证求解器独有特性,而预言引导方法因变异规则受限难以生成多样测试。
方法
Diver 执行预言引导且无限制的随机变异,以生成多样化测试并检测现有方法遗漏的 SMT 求解器缺陷。
评估
在 CVC5、Z3 和 dReal 最新版本上评估,Diver 共发现 25 个新缺陷,其中 21 个为关键缺陷,并实证表明现有工具难以发现这些缺陷。
原文摘要(Abstract)

We present Diver, a novel technique for effectively finding critical bugs in SMT solvers. Ensuring the correctness of SMT solvers is becoming increasingly important as many applications use solvers as a foundational basis. In response, several approaches for testing SMT solvers, which are classified into differential testing and oracle-guided approaches, have been proposed until recently. However, they are still unsatisfactory in that (1) differential testing approaches cannot validate unique yet important features of solvers, and (2) oracle-guided approaches cannot generate diverse tests due to their reliance on limited mutation rules. Diver aims to complement these shortcomings, particularly focusing on finding bugs that are missed by existing approaches. To this end, we present a new testing technique that performs oracle-guided yet unrestricted random mutations. We have used Diver to validate the most recent versions of three popular SMT solvers: CVC5, Z3 and dReal. In total, Diver found 25 new bugs, of which 21 are critical and directly affect the reliability of the solvers. We also empirically prove DIVER's own strength by showing that existing tools are unlikely to find the bugs discovered by Diver.

链接与引用

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

BibTeX
@inproceedings{KimSO23,
  title = {Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random Mutations},
  author = {Jongwook Kim and Sunbeom So and Hakjoo Oh},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00187}
}