Enhancing Modular OO Verification with Separation Logic

被引:19
|
作者
Chin, Wei-Ngan [1 ]
David, Cristina [1 ]
Nguyen, Huu Hai [1 ]
Qin, Shengchao
机构
[1] Natl Univ Singapore, Dept Comp Sci, Singapore 117548, Singapore
基金
英国工程与自然科学研究理事会;
关键词
Automated Verification; Enhanced Subsumption; Separation Logic; Lossless Casting; Static and Dynamic Specifications;
D O I
10.1145/1328438.1328452
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding. However, this requirement inherently weakens the specifications of overridden methods in superclasses, leading to imprecision during program reasoning. To address this, we advocate a fresh approach to OO verification that focuses on the distinction and relation between specifications that cater to calls with static dispatching from those for calls with dynamic dispatching. We formulate a novel specification subsumption that can avoid code re-verification, where possible. Using a predicate mechanism, we propose a flexible scheme for supporting class invariant and lossless casting. Our aim is to lay the foundation for a practical verification system that is precise, concise and modular for sequential OO programs. We exploit the separation logic formalism to achieve this.
引用
收藏
页码:87 / 99
页数:13
相关论文
共 50 条
  • [1] Enhancing modular OO verification with separation logic
    Chin, Wei-Ngan
    David, Cristina
    Nguyen, Huu Hai
    Qin, Shengchao
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (01) : 87 - 99
  • [2] Modular Verification of Heap Reachability Properties in Separation Logic
    Ter-Gabrielyan, Arshavir
    Summers, Alexander J.
    Mueller, Peter
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):
  • [3] Modular Verification of Linked Lists with Views via Separation Logic
    Jensen, Jonas Braband
    Birkedal, Lars
    Sestoft, Peter
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2011, 10 : 21 - 40
  • [4] Modular Verification of Op-Based CRDTs in Separation Logic
    Nieto, Abel
    Gondelman, Leon
    Reynaud, Alban
    Timany, Amin
    Birkedal, Lars
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [5] Modular Verification of Safe Memory Reclamation in Concurrent Separation Logic
    Jung, Jaehwang
    Lee, Janggun
    Choi, Jaemin
    Kim, Jaewoo
    Park, Sunho
    Kang, Jeehoon
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [6] Modular Verification of Termination and Execution Time Bounds Using Separation Logic
    Hamin, Jafar
    Jacobs, Bart
    [J]. PROCEEDINGS OF 2016 IEEE 17TH INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION (IEEE IRI), 2016, : 110 - 117
  • [7] Separating Separation Logic - Modular Verification of Red-Black Trees
    Schellhorn, Gerhard
    Bodenmueller, Stefan
    Bitterlich, Martin
    Reif, Wolfgang
    [J]. VERIFIED SOFTWARE. THEORIES, TOOLS AND EXPERIMENTS, VSTTE 2022, 2023, 13800 : 129 - 147
  • [8] Program Verification with Separation Logic
    Iosif, Radu
    [J]. MODEL CHECKING SOFTWARE, SPIN 2018, 2018, 10869 : 48 - 62
  • [9] Distributed causal memory: Modular specification and verification in higher-order distributed separation logic
    Gondelman, Léon
    Gregersen, Simon Oddershede
    Nieto, Abel
    Timany, Amin
    Birkedal, Lars
    [J]. Proceedings of the ACM on Programming Languages, 2021, 5 (POPL)
  • [10] Distributed Causal Memory: Modular Specification and Verification in Higher-Order Distributed Separation Logic
    Gondelman, Leon
    Gregersen, Simon Oddershede
    Nieto, Abel
    Timany, Amin
    Birkedal, Lars
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5