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 条
  • [31] Mechanical verification of recursive procedures manipulating pointers using separation logic
    Preoteasa, Viorel
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 508 - 523
  • [32] Formal verification of the heap manager of an operating system using separation logic
    Marti, Nicolas
    Affeldt, Reynald
    Yonezawa, Akinori
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2006, 4260 LNCS : 400 - 419
  • [33] Program Verification Under Weak Memory Consistency Using Separation Logic
    Vafeiadis, Viktor
    [J]. COMPUTER AIDED VERIFICATION, CAV 2017, PT I, 2017, 10426 : 30 - 46
  • [34] Coq Implementation of OO Verification Framework VeriJ
    Zhang, Ke
    Qiu, Zongyan
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS: 14TH INTERNATIONAL CONFERENCE, SEFM 2016, 2016, 9763 : 270 - 276
  • [35] A verification logic for rewriting logic
    Martí-Oliet, N
    Pita, I
    Fiadeiro, JL
    Meseguer, J
    Maibaum, T
    [J]. JOURNAL OF LOGIC AND COMPUTATION, 2005, 15 (03) : 317 - 352
  • [36] Verification logic
    Aguilera, Juan Pablo
    Fernandez-Duque, David
    [J]. JOURNAL OF LOGIC AND COMPUTATION, 2017, 27 (08) : 2451 - 2469
  • [37] Igloo: Soundly Linking Compositional Refinement and Separation Logic for Distributed System Verification
    Sprenger, Christoph
    Klenze, Tobias
    Eilers, Marco
    Wolf, Felix A.
    Muller, Peter
    Clochard, Martin
    Basin, David
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (OOPSLA):
  • [38] Formal Verification of C Systems CodeStructured Types, Separation Logic and Theorem Proving
    Harvey Tuch
    [J]. Journal of Automated Reasoning, 2009, 42 : 125 - 187
  • [39] Data Structure Shape Inference and Verification for OO Programs
    Owen, Rhys
    Anderson, Hugh
    [J]. THIRD INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 307 - 308
  • [40] Formal Verification of Data Modifications in Cloud Block Storage Based on Separation Logic
    Bowen ZHANG
    Zhao JIN
    Hanpin WANG
    Yongzhi CAO
    [J]. Chinese Journal of Electronics, 2024, 33 (01) : 112 - 127