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 language | English |
|---|---|
| Article number | 3498672 |
| Journal | Proceedings of the ACM on Programming Languages |
| Volume | 6 |
| Issue number | POPL |
| DOIs | |
| Publication status | Published - 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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver