Bounded Model Checking Using Satisfiability Solving

  • Authors:
  • Edmund Clarke;Armin Biere;Richard Raimi;Yunshan Zhu

  • Affiliations:
  • Computer Science Department, CMU, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA. emc@cs.cmu.edu;Institute of Computer Systems, ETH Zürich, 8092 Zürich, Switzerland. biere@inf.ethz.ch;TriMedia Technologies, Inc., 801 Capital of Texas Hwy. So., Austin, TX 78704. richard.raimi@trimedia.com;Synopsys, Inc., 700 East Middlefield Road, Mountain View, CA 94043, USA. yunshan@synopsys.com

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The phrase model checking refers to algorithms for exploring the state space of a transition system to determine if it obeys a specification of its intended behavior. These algorithms can perform exhaustive verification in a highly automatic manner, and, thus, have attracted much interest in industry. Model checking programs are now being commercially marketed. However, model checking has been held back by the state explosion problem, which is the problem that the number of states in a system grows exponentially in the number of system components. Much research has been devoted to ameliorating this problem.In this tutorial, we first give a brief overview of the history of model checking to date, and then focus on recent techniques that combine model checking with satisfiability solving. These techniques, known as bounded model checking, do a very fast exploration of the state space, and for some types of problems seem to offer large performance improvements over previous approaches. We review experiments with bounded model checking on both public domain and industrial designs, and propose a methodology for applying the technique in industry for invariance checking. We then summarize the pros and cons of this new technology and discuss future research efforts to extend its capabilities.