Modular Verification of Linked Lists with Views via Separation Logic

被引:4
|
作者
Jensen, Jonas Braband [1 ]
Birkedal, Lars [1 ]
Sestoft, Peter [1 ]
机构
[1] IT Univ Copenhagen, Copenhagen, Denmark
来源
关键词
Separation logic; formal verification; modularity;
D O I
10.5381/jot.2011.10.1.a2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a separation logic specification and verification of linked lists with views, a data structure from the C5 collection library for .NET. A view is a generalization of the well-known concept of an iterator. Linked lists with views form an interesting case study for verification since they allow mutation through multiple, possibly overlapping, views of the same underlying list. For modularity, we build on a fragment of higher-order separation logic and use abstract predicates to give a specification with respect to which clients can be proved correct. We introduce a novel mathematical model of lists with views, and formulate succinct modular abstract specifications of the operations on the data structure. To show that the concrete implementation realizes the specification, we use fractional permissions in a novel way to capture the sharing of data between views and their underlying list. We conclude by suggesting directions for future research that arose from conducting this case study
引用
收藏
页码:21 / 40
页数:20
相关论文
共 50 条
  • [21] Verification Algorithms for Automated Separation Logic Verifiers
    Eilers, Marco
    Schwerhoff, Malte
    Mueller, Peter
    COMPUTER AIDED VERIFICATION, PT I, CAV 2024, 2024, 14681 : 362 - 386
  • [22] Towards mechanized program verification with separation logic
    Weber, T
    COMPUTER SCIENCE LOGIC, PROCEEDINGS, 2004, 3210 : 250 - 264
  • [23] Bi-Abduction in Separation Logic with Arrays and Lists for Program Analysis
    Kimura D.
    Tatsuta M.
    Faisal M.
    Ameen A.
    Ikebuchi M.
    Nakazawa K.
    Computer Software, 2024, 41 (01) : 50 - 67
  • [24] Sheaves and Geometric Logic and Applications to Modular Verification of Complex Systems
    Sofronie-Stokkermans, Viorica
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 230 : 161 - 187
  • [25] Smallfoot: Modular automatic assertion checking with separation logic
    Berdine, Josh
    Calcagno, Cristiano
    O'Hearn, Peter W.
    FORMAL METHODS FOR COMPONENTS AND OBJECTS, 2006, 4111 : 115 - 137
  • [26] Completeness and expressiveness of pointer program verification by separation logic
    Tatsuta, Makoto
    Chin, Wei-Ngan
    Al Ameen, Mahmudul Faisal
    INFORMATION AND COMPUTATION, 2019, 267 : 1 - 27
  • [27] Automatic Verification of Heap Manipulation Using Separation Logic
    Berdine, Josh
    SOFSEM 2009-THEORY AND PRACTICE OF COMPUTER SCIENCE, PROCEEDINGS, 2009, 5404 : 34 - 34
  • [28] Separation Logic Verification of C Programs with an SMT Solver
    Botincan, Matko
    Parkinson, Matthew
    Schulte, Wolfram
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 254 (5-23) : 5 - 23
  • [29] Automated verification of shape, size and bag properties via user-defined predicates in separation logic
    Chin, Wei-Ngan
    David, Cristina
    Huu Hai Nguyen
    Qin, Shengchao
    SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (09) : 1006 - 1036
  • [30] Verification of unstructured workflows via propositional logic
    Liang, Qianhui Althea
    Zhao, J. Leon
    7TH IEEE/ACIS INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE IN CONJUNCTION WITH 2ND IEEE/ACIS INTERNATIONAL WORKSHOP ON E-ACTIVITY, PROCEEDINGS, 2008, : 247 - +