A CLP Method for Compositional and Intermittent Predicate Abstraction
A CLP Method for Compositional and Intermittent Predicate Abstraction
复制标题
组合谓词和断续谓词抽象的CLP方法
DOI:
10.1007/11609773_2
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
R. Voicu
中科院分区:
文献类型:
--
作者:
J. Jaffar;A. Santosa;R. Voicu
We present an implementation of symbolic reachability analysis with the features of compositionality, andintermittentabstraction, in the sense of pefrorming approximation only at selected program points, if at all. The key advantages of compositionality are well known, while those of intermittent abstraction are that the abstract domain required to ensure convergence of the algorithm can be minimized, and that the cost of performing abstractions, now being intermittent, is reduced.We start by formulating the problem in CLP, and first obtain compositionality. We then address two key efficiency challenges. The first is that reasoning is required about the strongest-postcondition operator associated with an arbitrarily long program fragment. This essentially means dealing with constraints over an unbounded number of variables describing the states between the start and end of the program fragment at hand. This is addressed by using the variable elimination or projection mechanism that is implicit in CLP systems. The second challenge is termination, that is, to determine which subgoals are redundant. We address this by a novel formulation of memoization calledcoinductive tabling.We finally evaluate the method experimentally. At one extreme, where abstraction is performed at every step, we compare against a model checker. At the other extreme, where no abstraction is performed, we compare against a program verifier. Of course, our method provides for the middle ground, with a flexible combination of abstraction and Hoare-style reasoning with predicate transformers and loop-invariants.