Predicate Abstraction of ANSI-C Programs Using SAT

  • Authors:
  • Edmund Clarke;Daniel Kroening;Natasha Sharygina;Karen Yorav

  • Affiliations:
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA. emc@cs.cmu.edu;Computer Systems Institute, Swiss Institute of Technology, Zurich, Switzerland. daniel.kroening@inf.ethz.ch;Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA. nys@sei.cmu.edu;IBM Haifa, Israel. yorav@il.ibm.com

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Predicate abstraction is a major method for verification of software. However, the generation of the abstract Boolean program from the set of predicates and the original program suffers from an exponential number of theorem prover calls as well as from soundness issues. This paper presents a novel technique that uses an efficient SAT solver for generating the abstract transition relations of ANSI-C programs. The SAT-based approach computes a more precise and safe abstraction compared to existing predicate abstraction techniques.