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 条
  • [21] Efficient Bounded Model Checking of Heap-Manipulating Programs using Tight Field Bounds
    Ponzio, Pablo
    Godio, Ariel
    Rosner, Nicolas
    Arroyo, Marcelo
    Aguirre, Nazareno
    Frias, Marcelo F.
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2021), 2021, 12649 : 218 - 239
  • [22] Toward property-driven abstraction for heap manipulating programs
    McMillan, K. L.
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2007, 4762 : 17 - 18
  • [23] Stepwise refinement of heap-manipulating code in Chalice
    Leino, K. Rustan M.
    Yessenov, Kuat
    FORMAL ASPECTS OF COMPUTING, 2012, 24 (4-6) : 519 - 535
  • [24] Checking properties of heap-manipulating procedures with a constraint solver
    Vaziri, M
    Jackson, D
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2003, 2619 : 505 - 520
  • [25] Multiple pre/post specifications for heap-manipulating methods
    Chin, Wei-Ngan
    David, Cristina
    Nguyen, Huu Hai
    Qin, Shengchao
    HASE 2007: 10TH IEEE HIGH ASSURANCE SYSTEMS ENGINEERING SYMPOSIUM, PROCEEDINGS, 2007, : 357 - +
  • [26] Precise and Compact Modular Procedure Summaries for Heap Manipulating Programs
    Dillig, Isil
    Dillig, Thomas
    Aiken, Alex
    Sagiv, Mooly
    ACM SIGPLAN NOTICES, 2011, 46 (06) : 567 - 577
  • [27] Precise and Compact Modular Procedure Summaries for Heap Manipulating Programs
    Dillig, Isil
    Dillig, Thomas
    Aiken, Alex
    Sagiv, Mooly
    PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 567 - 577
  • [28] An abstract domain for analyzing heap-manipulating low-level software
    Gulwani, Sumit
    Tiwari, Ashish
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2007, 4590 : 379 - +
  • [29] Temporal logic with predicate λ-abstraction.
    Lisitsa, A
    Potapov, I
    12TH INTERNATIONAL SYMPOSIUM ON TEMPORAL REPRESENTATION AND REASONING, PROCEEDINGS, 2005, : 147 - 155
  • [30] Predicate Abstraction in a Program Logic Calculus
    Weiss, Benjamin
    INTEGRATED FORMAL METHODS, PROCEEDINGS, 2009, 5423 : 136 - 150