Complexity and algorithms for monomial and clausal predicate abstraction

International Conference on Automated Deduction (CADE '09) |

Published by Springer Verlag

In this paper, we investigate the asymptotic complexity of various predicate abstraction problems relative to the complexity of checking an annotated program in an assertion logic. Unlike previous approaches, we pose the predicate abstraction problem as a decision problem, instead of the traditional inference problem. For assertion logics closed under weakest precondition and Boolean connectives, we show two restrictions of the predicate abstraction problem where the problem is no worse than checking an annotated program! The restrictions correspond to the case of monomial and clausal abstraction. For these restrictions, we show a symbolic encoding that reduces the predicate abstraction problem to checking the satisfiability of a single formula whose size is polynomial in the size of the program and the set of predicates. We also provide a new iterative algorithm for solving the clausal abstraction problem that can be seen as the dual of the Houdini algorithm for solving the monomial abstraction problem.