International Conference on Tools and Algorithms for the Construction and Analysis of Systems

TACAS 2007: Tools and Algorithms for the Construction and Analysis of Systems pp 358-372

Deciding Bit-Vector Arithmetic with Abstraction

  • Randal E. Bryant
  • Daniel Kroening
  • Joël Ouaknine
  • Sanjit A. Seshia
  • Ofer Strichman
  • Bryan Brady
Conference paper

DOI: 10.1007/978-3-540-71209-1_28

Volume 4424 of the book series Lecture Notes in Computer Science (LNCS)

Abstract

We present a new decision procedure for finite-precision bit-vector arithmetic with arbitrary bit-vector operations. Our procedure alternates between generating under- and over-approximations of the original bit-vector formula. An under-approximation is obtained by a translation to propositional logic in which some bit-vector variables are encoded with fewer Boolean variables than their width. If the under-approximation is unsatisfiable, we use the unsatisfiable core to derive an over-approximation based on the subset of predicates that participated in the proof of unsatisfiability. If this over-approximation is satisfiable, the satisfying assignment guides the refinement of the previous under-approximation by increasing, for some bit-vector variables, the number of Boolean variables that encode them. We present experimental results that suggest that this abstraction-based approach can be considerably more efficient than directly invoking the SAT solver on the original formula as well as other competing decision procedures.

Download to read the full conference paper text

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Randal E. Bryant
    • 1
  • Daniel Kroening
    • 2
  • Joël Ouaknine
    • 3
  • Sanjit A. Seshia
    • 4
  • Ofer Strichman
    • 5
  • Bryan Brady
    • 4
  1. 1.Carnegie Mellon University, Pittsburgh 
  2. 2.ETH Zürich 
  3. 3.Oxford University Computing Laboratory 
  4. 4.University of California, Berkeley 
  5. 5.The Technion, Haifa