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 thesis we advocate reasoning at higher level of abstraction, within the theory of bit-vectors. Our approach relies on the lazy Satisfiability Modulo Theories (SMT) paradigm. We develop a satisfiability procedure for reasoning about bit vectors that carefully leverages on the power of a 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 and inference rules. We evaluate our approach on a set of realistic industrial benchmarks, and demonstrate its feasibility with respect to state-of-the-art Boolean satisfiability solvers, as well as other decision procedures for SMT(BV).
![]() Appointments: dcm@cs.cmu.edu |
Maintainer | [ Home > Seminar ] |
`Last modified: Sat 2 Feb 2 11:09:10 EDT 2008 |