A Separation Logic for Heap Space under Garbage Collection

被引:7
|
作者
Madiot, Jean-Marie [1 ]
Pottier, Francois [1 ]
机构
[1] INRIA, Paris, France
关键词
separation logic; tracing garbage collection; live data; program verification; VERIFICATION; FRAMEWORK; CHECKING;
D O I
10.1145/3498672
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present SL lozenge, a Separation Logic that allows controlling the heap space consumption of a program in the presence of dynamic memory allocation and garbage collection. A user of the logic works with space credits, a resource that is consumed when an object is allocated and produced when a group of objects is logically deallocated, that is, when the user is able to prove that it has become unreachable and therefore can be collected. To prove such a fact, the user maintains pointed-by assertions that record the immediate predecessors of every object. Our calculus, SpaceLang, has mutable state, shared-memory concurrency, and code pointers. We prove that SL lozenge is sound and present several simple examples of its use.
引用
收藏
页数:28
相关论文
共 50 条
  • [31] A Phase-Adaptive Garbage Collector Using Dynamic Heap Partitioning and Opportunistic Collection
    Roh, Yangwoo
    Kim, Jaesub
    Park, Kyu Ho
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2009, E92D (10): : 2053 - 2063
  • [32] Controlling garbage collection and heap growth to reduce the execution time of Java']Java applications
    Brecht, Tim
    Arjomandi, Eshrat
    Li, Chang
    Pham, Hang
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2006, 28 (05): : 908 - 941
  • [33] Heap Fuzzing: Automatic Garbage Collection Testing with Expert-Guided Random Events
    Polito, Guillermo
    Tesone, Pablo
    Privat, Jean
    Palumbo, Nahuel
    Ducasse, Stephane
    2023 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST, 2023, : 107 - 116
  • [34] Thread-Group Based Local Heap Garbage Collection in a Simulated Runtime Environment
    Dombrowski, Marcel
    Nasartschuk, Konsiantin
    Kent, Kenneth B.
    Dueck, Gerhard W.
    Gracie, Charlie
    2016 IEEE CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2016,
  • [35] Automated Lemma Synthesis in Symbolic-Heap Separation Logic
    Ta, Quang-Trung
    Le, Ton Chanh
    Khoo, Siau-Cheng
    Chin, Wei-Ngan
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [36] Garbage collection with a large address space for server applications
    Kyrylkov, S
    Stefanovic, D
    PLC '05: Proceedings of the 2005 International Conference on Programming Languages and Compilers, 2005, : 179 - 184
  • [37] Separation Logic plus Superposition Calculus = Heap Theorem Prover
    Perez, Juan Antonio Navarro
    Rybalchenko, Andrey
    ACM SIGPLAN NOTICES, 2011, 46 (06) : 556 - 566
  • [38] Separation Logic plus Superposition Calculus = Heap Theorem Prover
    Perez, Juan Antonio Navarro
    Rybalchenko, Andrey
    PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 556 - 566
  • [39] A Heap Model for Java']Java Bytecode to Support Separation Logic
    Luo, Chenguang
    He, Guanhua
    Qin, Shengchao
    APSEC 2008:15TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2008, : 127 - 134
  • [40] Skip compactors for garbage collection based on space utilization
    Peng, Yi-Wen
    Hsu, Tien-Hsing
    Chen, Wei-Mei
    JOURNAL OF THE CHINESE INSTITUTE OF ENGINEERS, 2018, 41 (04) : 317 - 326