Skip to main navigation Skip to search Skip to main content

A separation logic for heap space under garbage collection

  • INRIA Institut National de Recherche en Informatique et en Automatique

Research output: Contribution to journalArticlepeer-review

Abstract

We present SLĝ™¢, 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ĝ™¢ is sound and present several simple examples of its use.

Original languageEnglish
Article number3498672
JournalProceedings of the ACM on Programming Languages
Volume6
Issue numberPOPL
DOIs
Publication statusPublished - 1 Jan 2022

Keywords

  • live data
  • program verification
  • separation logic
  • tracing garbage collection

Fingerprint

Dive into the research topics of 'A separation logic for heap space under garbage collection'. Together they form a unique fingerprint.

Cite this