arrow
返回

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
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
具有唯一性类型系统的编程语言可防止指针别名化,简化内存安全推理。然而,在这些语言中实现的代码通常通过外部函数接口与在缺乏同等静态安全保证的语言中实现的外部组件进行互操作。为验证组合系统中的安全更新,必须手动验证外部组件是否保持唯一性类型系统的安全不变量。特别是,近期研究显示,可以通过在高级逻辑中直接推理C代码,手动完成来自跨语言Cogent-C系统的C组件的唯一性安全义务。然而,即使在简单示例中,在不专门为直接推理堆和指针而设计的逻辑中完成唯一性安全义务(即帧条件)并不理想。分离逻辑是一种成熟的逻辑,通过将推理限定在程序修改的堆部分,便于对命令式程序进行推理。这引发了一个关键问题:我们能否使用分离逻辑来完成唯一性类型所强加的安全义务?答案是肯定的。本文表明,帧条件可以从特定的分离逻辑三元组中推断出来,并通过使用分离逻辑进行推理来完成。我们识别并验证了特定的分离逻辑三元组,这些三元组蕴含了唯一性类型系统强加的帧条件。
Keyword:
Memory Safety
Uniqueness Types
Separation Logic

期刊

P
PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2025
IF:
0
论文数:
13
被引数:
0

机构

R
Rochester Institute of Technology
学者数:
3.8K
论文数: 3.3K
被引数: 45
A
australian national university
学者数:
2.3K
论文数: 1.2K
被引数: 0
U
university of melbourne
学者数:
5.7W
论文数: 5.4W
被引数: 69
学者 查看更多机构
引用论文

引用论文

err
IF0
err
err0
PREAI
err
err分享
err收藏
RustBelt: securing the foundations of the Rust programming language
err2017-12-27
err0
errOAAI
errRalf Jung; Jacques-Henri Jourdan; Robbert Krebbers; Derek Dreyer
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
Local Reasoning about Programs that Alter Data Structures
err2001-08-30
err0
PREAI
errPeter O’Hearn; John Reynolds; Hongseok Yang
err分享
err收藏
学者 查看更多内容