A CLP method for compositional and intermittent predicate abstraction

被引:0
|
作者
Jaffar, J [1 ]
Santosa, AE [1 ]
Voicu, R [1 ]
机构
[1] Natl Univ Singapore, Sch Comp, Singapore 117543, Singapore
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present an implementation of symbolic reachability analysis with the features of compositionality, and intermittent abstraction, 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 called coinductive 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.
引用
收藏
页码:17 / 32
页数:16
相关论文
共 50 条
  • [1] Compositional Predicate Abstraction from Game Semantics
    Bakewell, Adam
    Ghica, Dan R.
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2009, 5505 : 62 - 76
  • [2] System Verification of Concurrent RTL Modules by Compositional Path Predicate Abstraction
    Urdahl, Joakim
    Stoffel, Dominik
    Wedler, Markus
    Kunz, Wolfgang
    2012 49TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2012, : 334 - 343
  • [3] Predicate Abstraction and Such ...
    Steffen, Bernhard
    Margaria, Tiziana
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, FMICS 2018, 2018, 11119 : 181 - 188
  • [4] Ranking abstraction as companion to predicate abstraction
    Balaban, I
    Pnueli, A
    Zuck, LD
    FORMAL TECHNIQUES FOR NETWORKED AND DISTRIBUTED SYSTEMS - FORTE 2005, 2005, 3731 : 1 - 12
  • [5] Ranking abstraction as a companion to predicate abstraction
    Pnueli, A
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2005, 3707 : 1 - 1
  • [6] Polymorphic predicate abstraction
    Ball, T
    Millstein, T
    Rajamani, SK
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2005, 27 (02): : 314 - 343
  • [7] Predicate abstraction in protocol verification
    Pek, E
    Bogunovic, N
    CONTEL 2005: PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS, VOLS 1 AND 2, 2005, : 627 - 632
  • [8] A symbolic approach to predicate abstraction
    Lahiri, SK
    Bryant, RE
    Cook, B
    COMPUTER AIDED VERIFICATION, 2003, 2725 : 141 - 153
  • [9] Predicate abstraction with indexed predicates
    Lahiri, Shuvendu K.
    Bryant, Randal E.
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2008, 9 (01)
  • [10] Shape analysis by predicate abstraction
    Balaban, I
    Pnueli, A
    Zuck, LD
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, PROCEEDINGS, 2005, 3385 : 164 - 180