A SAT characterization of boolean-program correctness

  • Authors:
  • K. Rustan M. Leino

  • Affiliations:
  • Microsoft Research, Redmond, WA

  • Venue:
  • SPIN'03 Proceedings of the 10th international conference on Model checking software
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Boolean programs, imperative programs where all variables have type boolean, have been used effectively as abstractions of device drivers (in Ball and Rajamani's SLAM project). To find errors in these boolean programs, SLAM uses a model checker based on binary decision diagrams (BDDs). As an alternative checking method, this paper defines the semantics of procedure-less boolean programs by weakest solutions of recursive weakest-precondition equations. These equations are then translated into a satisfiability (SAT) problem. The method uses both BDDs and SAT solving, and it allows an on-the-fly trade-off between symbolic and explicit-state representation of the program's initial state.