Deciding bit-vector arithmetic with abstraction

  • Authors:
  • Randal E. Bryant;Daniel Kroening;Joël Ouaknine;Sanjit A. Seshia;Ofer Strichman;Bryan Brady

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh;ETH Zürich;Oxford University Computing Laboratory;University of California, Berkeley;The Technion, Haifa;University of California, Berkeley

  • Venue:
  • TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new decision procedure for finite-precision bitvector 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.