A logic and decision procedure for predicate abstraction of heap-manipulating programs

被引:0
|
作者
Bingham, J [1 ]
Rakamaric, Z [1 ]
机构
[1] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1W5, Canada
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An important and ubiquitous class of programs are heap-manipulating programs (HMP), which manipulate unbounded linked data structures by following pointers and updating links. Predicate abstraction has proved to be an invaluable technique in the field of software model checking; this technique relies on an efficient decision procedure for the underlying logic. The expression and proof of many interesting HMP safety properties require transitive closure predicates; such predicates express that some node can be reached from another node by following a sequence of (zero or more) links in the data structure. Unfortunately, adding support for transitive closure often yields undecidability, so one must be careful in defining such a logic. Our primary contributions are the definition of a simple transitive closure logic for use in predicate abstraction of HMPs, and a decision procedure for this logic. Through several experimental examples, we demonstrate that our logic is expressive enough to prove interesting properties with predicate abstraction, and that our decision procedure provides us with both a time and space advantage over previous approaches.
引用
收藏
页码:207 / 221
页数:15
相关论文
共 50 条
  • [31] Predicate Abstraction for Programmable Logic Controllers
    Biallas, Sebastian
    Giacobbe, Mirco
    Kowalewski, Stefan
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2013, 8187 : 123 - 138
  • [32] Predicate abstraction in a program logic calculus
    Weiss, Benjamin
    SCIENCE OF COMPUTER PROGRAMMING, 2011, 76 (10) : 861 - 876
  • [33] Automatic Predicate Abstraction of C Programs
    Ball, Thomas
    Milstein, Todd
    Majumdar, Rupak
    Rajamani, Siram K.
    ACM SIGPLAN NOTICES, 2012, 47 (04) : 37 - 47
  • [34] Automatic predicate abstraction of C programs
    Ball, T
    Millstein, T
    Majumdar, R
    Rajamani, SK
    ACM SIGPLAN NOTICES, 2001, 36 (05) : 203 - 213
  • [35] Predicate abstraction of java programs with collections
    David R. Cheriton School of Computer Science, University of Waterloo, Canada
    ACM SIGPLAN Not., 10 (75-94):
  • [36] From Concrete Examples to Heap Manipulating Programs
    Roy, Subhajit
    STATIC ANALYSIS, SAS 2013, 2013, 7935 : 126 - 149
  • [37] Custom Multicache Architectures for Heap Manipulating Programs
    Winterstein, Felix
    Fleming, Kermin E.
    Yang, Hsin-Jung
    Constantinides, George A.
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2017, 36 (05) : 761 - 774
  • [38] Verified Resource Guarantees for Heap Manipulating Programs
    Albert, Elvira
    Bubel, Richard
    Genaim, Samir
    Hahnle, Reiner
    Roman-Diez, Guillermo
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2012, 2012, 7212 : 130 - 145
  • [39] Predicate Abstraction of Java']Java Programs with Collections
    Parizek, Pavel
    Lhotak, Ondrej
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 75 - 94
  • [40] PREDICATE ABSTRACTION VIA SYMBOLIC DECISION PROCEDURES
    Lahiri, Shuvendu K.
    Ball, Thomas
    Cook, Byron
    LOGICAL METHODS IN COMPUTER SCIENCE, 2007, 3 (02)