Model Checking Recursive Programs with Exact Predicate Abstraction

  • Authors:
  • Arie Gurfinkel;Ou Wei;Marsha Chechik

  • Affiliations:
  • Software Engineering Institute, Carnegie Mellon University,;Department of Computer Science, University of Toronto,;Department of Computer Science, University of Toronto,

  • Venue:
  • ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose an approach for analyzing non-termination and reachability properties of recursive programs using a combination of over- and under-approximating abstractions. First, we define a new concrete program semantics, mixed, that combines both natural and operational semantics, and use it to design an on-the-fly symbolic algorithm. Second, we combine this algorithm with abstraction by following classical fixpoint abstraction techniques. This makes our approach parametrized by different approximating semantics of predicate abstraction and enables a uniform solution for over- and under-approximating semantics. The algorithm is implemented in Yasm, and we show that it can establish non-termination of non-trivial C programs completely automatically.