The Nextgen Modality: A Modality for Non-Frame-Preserving Updates in Separation Logic
As separation logic is a logic of resources, the way in which resources can soundly change and be updated is a fundamental aspect. Such changes have typically been restricted to certain local or frame-preserving updates. However, recently we have seen separation logics where the restriction to frame-preserving updates seems to be a hindrance towards achieving the ideal program reasoning rules. In this, paper we propose a novel nextgen modality that enables reasoning across generations where each generational change can update resources in ways that are non-local and non-frame-preserving. We implement the idea as an extension to the Iris base logic, which enriches Iris with an entirely new capability: the ability to make non-frame-preserving updates to ghost state. We show that two existing Iris modalities are special cases of the nextgen modality. Our “extension” can thus also be seen as a generalization and simplification of the Iris base logic. To demonstrate the utility of the nextgen modality we use it to construct a separation logic for a programming language with explicit stack allocation and with a return operation that clears entire stack frames. The nextgen modality is used to great effect in the reasoning rule for return, where a modular and practical reasoning rule is otherwise out of reach. This is the first separation logic for a high-level programming language with stack allocation. We sketch ideas for future work in other domains where we think the nextgen modality can be useful.
Authors
- Simon Friis Vindum (ORCID: https://orcid.org/0000-0002-4617-4976)
- Aïna Linn Georges (ORCID: https://orcid.org/0000-0002-5951-4642)
- Lars Birkedal (ORCID: https://orcid.org/0000-0003-1320-0098)
Institutions
- Aarhus University (DK)
Publication Details
- Published
- 2025-01-10
- DOI
- https://doi.org/10.1145/3703595.3705876
- Citations
- 3
- Primary Topic
- Distributed systems and fault tolerance
- Type
- article
- Field-Weighted Citation Impact
- 4.46
Funders
- Villum Fonden
- European Commission