Abstract
Many SMT solvers implement efficient SAT-based procedures for solving fixed-size bit-vector formulas. These techniques, however, cannot be used directly to reason about bit-vectors of symbolic bit-width. To address this shortcoming, we propose a translation from bit-vector formulas with parametric bit-width to formulas in a logic supported by SMT solvers that includes non-linear integer arithmetic, uninterpreted functions, and universal quantification. While this logic is undecidable, our approach can still solve many formulas that arise in practice by capitalizing on advances in SMT solving for non-linear arithmetic and universally quantified formulas. We provide several case studies in which we have applied this approach with promising results, including the bit-width independent verification of invertibility conditions, compiler optimizations, and bit-vector rewrite rules.
Original language | English |
---|---|
Pages (from-to) | 1001-1025 |
Number of pages | 25 |
Journal | Journal of Automated Reasoning |
Volume | 65 |
Issue number | 7 |
DOIs | |
State | Published - Oct 2021 |
Bibliographical note
Publisher Copyright:© 2021, The Author(s), under exclusive licence to Springer Nature B.V.
Funding
This work was supported in part by DARPA (Awards N66001-18-C-4012 and FA8650-18-2-7861), ONR (Award N68335-17-C-0558), NSF (Award 1656926), and the Stanford Center for Blockchain Research.
Funders | Funder number |
---|---|
Stanford Center for Blockchain Research | |
National Science Foundation | 1656926 |
Office of Naval Research | N68335-17-C-0558 |
Defense Advanced Research Projects Agency | FA8650-18-2-7861, N66001-18-C-4012 |
Keywords
- Bit-precise Reasoning
- Parametric Bit-vectors
- Satisfiability Modulo Theories