An Incremental Abstraction Scheme for Solving Hard SMT-Instances over Bit-Vectors
Samuel Teuber, Marko Kleine B\"uning, Carsten Sinz

TL;DR
This paper introduces an incremental abstraction scheme for SMT solvers over bit-vectors, improving their ability to solve challenging instances by refining approximations of complex operators.
Contribution
It presents a novel incremental abstraction approach for bit-vector SMT solving, implemented in Boolector, enhancing performance on difficult benchmarks.
Findings
Solves more unsatisfiable benchmark instances.
Successfully handles seven previously unknown status instances.
Improves overall solver performance with abstraction refinement.
Abstract
Decision procedures for SMT problems based on the theory of bit-vectors are a fundamental component in state-of-the-art software and hardware verifiers. While very efficient in general, certain SMT instances are still challenging for state-of-the-art solvers (especially when such instances include computationally costly functions). In this work, we present an approach for the quantifier-free bit-vector theory (QF_BV in SMT-LIB) based on incremental SMT solving and abstraction refinement. We define four concrete approximation steps for the multiplication, division and remainder operators and combine them into an incremental abstraction scheme. We implement this scheme in a prototype extending the SMT solver Boolector and measure both the overall performance and the performance of the single approximation steps. The evaluation shows that our abstraction scheme contributes to solving more…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
