A lazy and layered SMT(BV) solver for hard industrial verification problems

  • Authors:
  • Roberto Bruttomesso;Alessandro Cimatti;Anders Franzén;Alberto Griggio;Ziyad Hanna;Alexander Nadel;Amit Palti;Roberto Sebastiani

  • Affiliations:
  • FBK-irst, Povo, Trento, Italy;FBK-irst, Povo, Trento, Italy;FBK-irst, Povo, Trento, Italy and DIT, Università di Trento, Italy;DIT, Università di Trento, Italy;Logic and Validation Technologies, Intel Architecture Group of Haifa, Israel;Logic and Validation Technologies, Intel Architecture Group of Haifa, Israel;Logic and Validation Technologies, Intel Architecture Group of Haifa, Israel;DIT, Università di Trento, Italy

  • Venue:
  • CAV'07 Proceedings of the 19th international conference on Computer aided verification
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Rarely verification problems originate from bit-level descriptions. Yet, most of the verification technologies are based on bit blasting, i.e., reduction to boolean reasoning. In this paper we advocate reasoning at higher level of abstraction, within the theory of bit vectors (BV), where structural information (e.g. equalities, arithmetic functions) is not blasted into bits. Our approach relies on the lazy Satisfiability Modulo Theories (SMT) paradigm. We developed a satisfiability procedure for reasoning about bit vectors that carefully leverages on the power of boolean SAT solver to deal with components that are more naturally "boolean", and activates bit-vector reasoning whenever possible. The procedure has two distinguishing features. First, it relies on the on-line integration of a SAT solver with an incremental and backtrackable solver for BV that enables dynamical optimization of the reasoning about bit vectors; for instance, this is an improvement over static encoding methods which may generate smaller slices of bit-vector variables. Second, the solver for BV is layered (i.e., it privileges cheaper forms of reasoning), and it is based on a flexible use of term rewriting techniques. We evaluate our approach on a set of realistic industrial benchmarks, and demonstrate substantial improvements with respect to state-of-the-art boolean satisfiability solvers, as well as other decision procedures for SMT(BV).