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
来源
VERIFICATION, MODEL CHECKING , AND ABSTRACT INTERPRETATION, PROCEEDINGS | 2006年 / 3855卷
关键词
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 条
  • [21] Efficient Predicate Abstraction of Program Summaries
    Gurfinkel, Arie
    Chaki, Sagar
    Sapra, Samir
    NASA FORMAL METHODS, 2011, 6617 : 131 - 145
  • [22] Effective predicate abstraction for program verification
    Li, Li
    Gu, Ming
    Song, Xiaoyu
    Wang, Jianmin
    TASE 2008: SECOND IFIP/IEEE INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2008, : 129 - +
  • [23] SMT techniques for fast predicate abstraction
    Lahiri, Shuvendu K.
    Nieuwenhuis, Robert
    Oliveras, Albert
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2006, 4144 : 424 - 437
  • [24] Temporal logic with predicate λ-abstraction.
    Lisitsa, A
    Potapov, I
    12TH INTERNATIONAL SYMPOSIUM ON TEMPORAL REPRESENTATION AND REASONING, PROCEEDINGS, 2005, : 147 - 155
  • [25] Verification of SpecC using predicate abstraction
    Jain, H
    Kroening, D
    Clarke, E
    SECOND ACM AND IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CO-DESIGN, PROCEEDINGS, 2004, : 7 - 16
  • [26] Predicate Abstraction in a Program Logic Calculus
    Weiss, Benjamin
    INTEGRATED FORMAL METHODS, PROCEEDINGS, 2009, 5423 : 136 - 150
  • [27] Refining approximations in software predicate abstraction
    Ball, T
    Cook, B
    Das, S
    Rajamani, SK
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 : 388 - 403
  • [28] Automatic Predicate Abstraction of C Programs
    Ball, Thomas
    Milstein, Todd
    Majumdar, Rupak
    Rajamani, Siram K.
    ACM SIGPLAN NOTICES, 2012, 47 (04) : 37 - 47
  • [29] Predicate Abstraction for Programmable Logic Controllers
    Biallas, Sebastian
    Giacobbe, Mirco
    Kowalewski, Stefan
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2013, 8187 : 123 - 138
  • [30] Predicate Pairing with Abstraction for Relational Verification
    De Angelis, Emanuele
    Fioravanti, Fabio
    Pettorossi, Alberto
    Proietti, Maurizio
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2017), 2018, 10855 : 289 - 305