Speeding up SMT Solving via Compiler Optimization
Benjamin Mikek, Qirun Zhang
Abstract
SMT solvers are fundamental tools for reasoning about constraints in practical problems like symbolic execution and program synthesis. Faster SMT solving can improve the performance and precision of those analysis tools. Existing approaches typically speed up SMT solving by developing new heuristics inside particular solvers, which requires nontrivial engineering efforts. This paper presents a new perspective on speeding up SMT solving. We propose SMT-LLVM Optimizing Translation (SLOT), a solver-agnostic pre-processing approach that utilizes existing compiler optimizations to simplify SMT problem instances. We implement SLOT for the two most application-critical SMT theories, bitvectors, and floating-point numbers. Our extensive evaluation based on the standard SMT-LIB benchmarks shows that SLOT can substantially increase the number of solvable SMT formulas given fixed timeouts and achieve mean speedups of nearly 3× for large benchmarks.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers3
- First-Class Verification Dialects for MLIRMathieu Fehr, Yuyou Fan, Hugo Pompougnac, John Regehr et al.PLDI 2025 · 5 citations
- SMT Theory Arbitrage: Approximating Unbounded Constraints using Bounded TheoriesBenjamin Mikek, Qirun ZhangPLDI 2024 · 1 citation
- Spatial and Temporal Decomposition for Faster Translation ValidationBenjamin Mikek, Chathur Bommineni, Qirun Zhang, Thomas RepsOOPSLA 2026
Builds on11
- Alive2: bounded translation validation for LLVMNuno P. Lopes, Juneyoung Lee, Chung-Kil Hur, Zhengyang Liu et al.PLDI 2021 · 109 citations
- Syntia: Synthesizing the Semantics of Obfuscated CodeTim Blazytko, Moritz Contag, Cornelius Aschermann, Thorsten HolzUSENIX Security 2017 · 99 citations
- Validating SMT solvers via semantic fusionDominik Winterer, Chengyu Zhang, Zhendong SuPLDI 2020 · 80 citations
- Detecting critical bugs in SMT solvers using blackbox mutational fuzzingMuhammad Numair Mansur, Maria Christakis, Valentin Wüstholz, Fuyuan ZhangFSE 2020 · 51 citations
- An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthMurphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea et al.CAV 2021 · 37 citations
Related papers
- Fast bit-vector satisfiabilityPeisen Yao, Qingkai Shi, Heqing Huang, Charles ZhangISSTA 2020 · 13 citations
- ASE: A Value Set Decision Procedure for Symbolic ExecutionAlireza S. Abyaneh, Christoph M. KirschASE 2021 · 2 citations
- QSF: Multi-objective Optimization Based Efficient Solving for Floating-Point ConstraintsXu Yang, Zhenbang Chen, Wei Dong, Ji WangFSE 2025
- Synthesize solving strategy for symbolic executionZhenbang Chen, Zehua Chen, Ziqi Shuai, Guofeng Zhang et al.ISSTA 2021 · 13 citations
- Solving Floating-Point Constraints with Continuous OptimizationQian Chen, Chenqi Cui, Fengjuan Gao, Yu Wang et al.PLDI 2025 · 3 citations
