Propelling SAT and SAT-based BMC using careset

  • Authors:
  • Malay K. Ganai

  • Affiliations:
  • NEC Laboratories America, Princeton, NJ

  • Venue:
  • Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the notion of careset, a subset of variables in a Boolean formula that must be assigned in any satisfying assignment. We propose a restricted branching technique in a CDCL solver (i.e., DPLL-based SAT solver with clause learning) such that every decision path is prefixed with decisions on such a careset. Although finding a non-trivial careset may not be tractable in general, we demonstrate that for a SAT-based bounded model checking (BMC) application we can derive it automatically from the sequential behaviors of programs. Our proposed branching technique significantly reduces the search effort of a CDCL solver, and leads to a performance improvement of 1--2 orders of magnitude over well-known heuristics, and over top-ranked solvers of SAT2009 competition, that do not exploit system-level information. We also discuss the proof complexity of such a restricted CDCL solver.