SMT Theory Arbitrage: Approximating Unbounded Constraints using Bounded Theories
Benjamin Mikek, Qirun Zhang
Abstract
SMT solvers are foundational tools for reasoning about constraints in practical problems both within and outside program analysis. Faster SMT solving improves the performance of practical tools and expands the set of tractable problems. Existing approaches to improving solver performance either focus on general algorithms applied below the level of individual theories, or focus on optimizations within a single theory. Unbounded constraints in which the number of possible variable values is infinite, such as real numbers and integers, pose a particularly difficult challenge for solvers. Bounded constraints in which the set of possible values is finite such as bitvectors and floating-point numbers, on the other hand, are decidable and have been the subject of extensive performance improvement efforts. This paper introduces a theory arbitrage: we transform unbounded constraints, which are often expensive to solve, into bounded constraints, which are typically cheaper to solve. By converting unbounded problems into bounded ones, theory arbitrage takes advantage of better performance on bounded constraints and unlocks optimization techniques that only apply to bounded theories. The transformation is achieved by harnessing a novel abstract interpretation strategy to infer bounds. The bounded transformed constraint is then an underapproximation of the semantics of the unbounded original. We realize our method for the theories of integers and real numbers with a practical tool (STAUB). Our evaluation demonstrates that theory arbitrage alone can speed up individual constraints by orders of magnitude and achieve up to a 1.4 × speedup on average across nonlinear integer benchmarks. Furthermore, it enables the use of the recent compiler optimization-based technique SLOT for unbounded SMT theories, unlocking a further speedup of up to 3 × . Finally, we incorporate STAUB into a practical termination proving tool and observe an overall 9 % improvement in performance.
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.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7bb37e61-493d-46ff-8ef9-fdea90f6d6e2Builds on10
- 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
- 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
- Boosting SMT solver performance on mixed-bitwise-arithmetic expressionsDongpeng Xu, Binbin Liu, Weijie Feng, Jiang Ming et al.PLDI 2021 · 23 citations
Related papers
- Speeding up SMT Solving via Compiler OptimizationBenjamin Mikek, Qirun ZhangFSE 2023 · 11 citations
- ASE: A Value Set Decision Procedure for Symbolic ExecutionAlireza S. Abyaneh, Christoph M. KirschASE 2021 · 2 citations
- Solving Floating-Point Constraints with Continuous OptimizationQian Chen, Chenqi Cui, Fengjuan Gao, Yu Wang et al.PLDI 2025 · 3 citations
- Interpolation and Model Checking for Nonlinear ArithmeticDejan Jovanovic, Bruno DutertreCAV 2021 · 4 citations
- Boolean Abstractions for Realizability Modulo TheoriesAndoni Rodríguez, César SánchezCAV 2023 · 18 citations
