SMT Theory Arbitrage: Approximating Unbounded Constraints using Bounded Theories
Benjamin Mikek, Qirun Zhang
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper10
- Alive2: bounded translation validation for LLVMNuno P. Lopes, Juneyoung Lee, Chung-Kil Hur, Zhengyang Liu 等PLDI 2021 · 被引用 109 次
- Syntia: Synthesizing the Semantics of Obfuscated CodeTim Blazytko, Moritz Contag, Cornelius Aschermann, Thorsten HolzUSENIX Security 2017 · 被引用 99 次
- Validating SMT solvers via semantic fusionDominik Winterer, Chengyu Zhang, Zhendong SuPLDI 2020 · 被引用 80 次
- An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthMurphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea 等CAV 2021 · 被引用 37 次
- Boosting SMT solver performance on mixed-bitwise-arithmetic expressionsDongpeng Xu, Binbin Liu, Weijie Feng, Jiang Ming 等PLDI 2021 · 被引用 23 次
相关 Paper
- Speeding up SMT Solving via Compiler OptimizationBenjamin Mikek, Qirun ZhangFSE 2023 · 被引用 11 次
- ASE: A Value Set Decision Procedure for Symbolic ExecutionAlireza S. Abyaneh, Christoph M. KirschASE 2021 · 被引用 2 次
- Solving Floating-Point Constraints with Continuous OptimizationQian Chen, Chenqi Cui, Fengjuan Gao, Yu Wang 等PLDI 2025 · 被引用 3 次
- Interpolation and Model Checking for Nonlinear ArithmeticDejan Jovanovic, Bruno DutertreCAV 2021 · 被引用 4 次
- Boolean Abstractions for Realizability Modulo TheoriesAndoni Rodríguez, César SánchezCAV 2023 · 被引用 18 次
