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 条
  • [41] Predicate Abstraction for Relaxed Memory Models
    Dan, Andrei Marian
    Meshman, Yuri
    Vechev, Martin
    Yahav, Eran
    STATIC ANALYSIS, SAS 2013, 2013, 7935 : 84 - 104
  • [42] Efficient abstraction algorithms for predicate detection
    Natarajan, Aravind
    Chauhan, Himanshu
    Mittal, Neeraj
    Garg, Vijay K.
    THEORETICAL COMPUTER SCIENCE, 2017, 688 : 24 - 48
  • [43] Predicate Abstraction Based Configurable Method for Data Race Detection in Linux Kernel
    Andrianov, Pavel
    Mutilin, Vadim
    Khoroshilov, Alexey
    TOOLS AND METHODS OF PROGRAM ANALYSIS, 2018, 779 : 11 - 23
  • [44] PREDICATE ABSTRACTION WITH UNDER-APPROXIMATION REFINEMENT
    Pasareanu, Corina S.
    Pelanek, Radek
    Visser, Willem
    LOGICAL METHODS IN COMPUTER SCIENCE, 2007, 3 (01)
  • [45] PREDICATE ABSTRACTION VIA SYMBOLIC DECISION PROCEDURES
    Lahiri, Shuvendu K.
    Ball, Thomas
    Cook, Byron
    LOGICAL METHODS IN COMPUTER SCIENCE, 2007, 3 (02)
  • [46] Complexity and Algorithms for Monomial and Clausal Predicate Abstraction
    Lahiri, Shuvendu K.
    Qadeer, Shaz
    AUTOMATED DEDUCTION - CADE-22, 2009, 5663 : 214 - 229
  • [47] Predicate Abstraction of Java']Java Programs with Collections
    Parizek, Pavel
    Lhotak, Ondrej
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 75 - 94
  • [48] Systematic Predicate Abstraction Using Variable Roles
    Demyanova, Yulia
    Rummer, Philipp
    Zuleger, Florian
    NASA FORMAL METHODS (NFM 2017), 2017, 10227 : 265 - 281
  • [49] Predicate abstraction, the limits of quantification, and the modality of existence
    Percival, Philip
    PHILOSOPHICAL STUDIES, 2011, 156 (03) : 389 - 416
  • [50] Tighter Integration of BDDs and SMT for Predicate Abstraction
    Cimatti, A.
    Franzen, A.
    Griggio, A.
    Kalyanasundaram, K.
    Roveri, M.
    2010 DESIGN, AUTOMATION & TEST IN EUROPE (DATE 2010), 2010, : 1707 - 1712