Predicate Abstraction via Symbolic Decision Procedures
Abstract
We present a new approach for performing predicate abstraction based on symbolic decision procedures. Intuitively, a symbolic decision procedure for a theory takes a set of predicates in the theory and symbolically executes a decision procedure on all the subsets over the set of predicates. The result of the symbolic decision procedure is a shared expression (represented by a directed acyclic graph) that implicitly represents the answer to a predicate abstraction query. We present symbolic decision procedures for the logic of Equality and Uninterpreted Functions (EUF) and Difference logic (DIFF) and show that these procedures run in pseudo-polynomial (rather than exponential) time. We then provide a method to construct symbolic decision procedures for simple mixed theories (including the two theories mentioned above) using an extension of the Nelson-Oppen combination method. We present preliminary evaluation of our Procedure on predicate abstraction benchmarks from device driver verification in SLAM.
- Publication:
-
arXiv e-prints
- Pub Date:
- December 2006
- DOI:
- 10.48550/arXiv.cs/0612003
- arXiv:
- arXiv:cs/0612003
- Bibcode:
- 2006cs.......12003L
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Computer Science - Programming Languages;
- Computer Science - Symbolic Computation;
- F.3.1;
- F.4.1
- E-Print:
- The final accepted paper for Logical Methods in Computer Science, special issue on CAV 2005. Editor Sriram Rajamani (sriram@microsoft.com). Please perform make to build the paper. The pdf file is paper.pdf, and the comments for the referee's is present in referee_comments