Validating SMT Solvers for Correctness and Performance via Grammar-Based Enumeration
Dominik Winterer, Zhendong Su
摘要
We introduce ET, a grammar-based enumerator for validating SMT solver correctness and performance. By compiling grammars of the SMT theories to algebraic datatypes, ET leverages the functional enumerator FEAT. ET is highly effective at bug finding and has many complimentary benefits. Despite the extensive and continuous testing of the state-of-the-art SMT solvers Z3 and cvc5, ET found 102 bugs, out of which 84 were confirmed and 40 were fixed. Moreover, ET can be used to understand the evolution of solvers. We derive eight grammars realizing all major SMT theories including the booleans, integers, reals, realints, bit-vectors, arrays, floating points, and strings. Using ET, we test all consecutive releases of the SMT solvers Z3 and CVC4/cvc5 from the last six years (61 versions) on 8 million formulas, and 488 million solver calls. Our results suggest improved correctness in recent versions of both solvers but decreased performance in newer releases of Z3 on small timeouts (since z3-4.8.11) and regressions in early cvc5 releases on larger timeouts. Due to its systematic testing and efficiency, we further advocate ET’s use for continuous integration.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
引用它的顶会 Paper2
- Once4All: Skeleton-Guided SMT Solver Fuzzing with LLM-Synthesized GeneratorsMaolin Sun, Yibiao Yang, Yuming ZhouASPLOS 2026 · 被引用 1 次
- Interrogation Testing of CHC SolversDavid Kaindlstorfer, Anastasia Isychev, Valentin Wüstholz, Maria ChristakisFSE 2026 · 被引用 1 次
相关 Paper
- Diver: Oracle-Guided SMT Solver Testing with Unrestricted Random MutationsJongwook Kim, Sunbeom So, Hakjoo OhICSE 2023 · 被引用 7 次
- Validating SMT Solvers via Skeleton Enumeration Empowered by Historical Bug-Triggering InputsMaolin Sun, Yibiao Yang, Ming Wen, Yongcong Wang 等ICSE 2023 · 被引用 9 次
- Finding and Understanding Incompleteness Bugs in SMT SolversMauro Bringolf, Dominik Winterer, Zhendong SuASE 2022 · 被引用 5 次
- Generative type-aware mutation for testing SMT solversJiwon Park, Dominik Winterer, Chengyu Zhang, Zhendong SuOOPSLA 2021 · 被引用 31 次
- Fuzzing SMT solvers via two-dimensional input space explorationPeisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi 等ISSTA 2021 · 被引用 18 次
