arrow
Return

Memory Safety: Uniqueness as Separation

delete2026-01-01
delete0
PRE
AI
P
Pilar Selene Linares Arévalo *
A
Arthur Azevedo de Amorim
V
Vincent Jackson
L
Liam O’Connor
P
Peter Schachte
C
Christine Rizkallah
DOI:10.1007/978-981-95-3585-9_1delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Programming languages with uniqueness type systems prevent pointer aliasing, simplifying memory safety reasoning. However, code implemented in these languages often interoperates through foreign function interfaces with external components implemented in languages lacking the same level of static safety guarantees. To verify safe updates in a combined system, one must manually verify that the external components preserve the safety invariants of the uniqueness type system. In particular, recent work showed that one can manually discharge such obligations on C components from a cross-language Cogent-C system by directly reasoning about the C code in higher-order logic. However, even for simple examples, discharging the uniqueness safety obligations, known as frame conditions, within a logic not specifically designed for direct reasoning in terms of heaps and pointers was not ideal. Separation logic is an established logic that facilitates reasoning about imperative programs by localising reasoning to the parts of the heap that the program mutates. This raises a vital question. Can we use separation logic to discharge the safety obligations imposed by uniqueness types? The answer is yes. This paper demonstrates that the frame conditions can be inferred from particular separation logic triples and, hence, discharged by reasoning using separation logic. We identify and verify the soundness of specific separation logic triples that imply the frame conditions imposed by a uniqueness type system.
Keywords:
Memory Safety
Uniqueness Types
Separation Logic

Journal

P
PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2025
IF:
0
Papers:
13
Citations:
0

Organization

R
Rochester Institute of Technology
Scholars:
3.7K
Papers: 3.2K
Citations: 45
A
australian national university
Scholars:
1.9K
Papers: 1.0K
Citations: 0
U
university of melbourne
Scholars:
5.6W
Papers: 5.4W
Citations: 69
researcher View more organizations