paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Corundum: statically-enforced persistent memory safety

Corundum:静态强制的持久内存安全
ASPLOS Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems2021匹配度 3/10 · 论文属于程序分析与抽象解释,但研究目标是持久内存编程安全,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户画像中 PL 与 AI 的交叉核心方向没有直接关联。引用 18 inbox
Morteza Hoseinzadeh, Steven Swanson
crossref: 2026-09-12

AI 速览

一句话:提出 Corundum,用静态强制方式保证持久内存编程安全,避免程序员手动遵守复杂规则。

本文关注持久内存(PM)编程的安全性。PM 具备快速、字节可寻址且掉电保持的特点,可让复杂数据结构跨系统故障存活,但编程难度很高:它把锁、内存管理、指针安全等常见问题与 PM 特有缺陷结合在一起,还要求把更新日志写入 PM 以便崩溃恢复。任一步出错都可能破坏数据、泄漏资源或导致恢复失败。现有 C、C++、Java、Go 的 PM 库虽简化了部分问题,但仍要求程序员学习并完美应用复杂规则,因此仍存在大量可破坏数据的 bug。Corundum 提出静态强制持久内存安全的方法,目标是在静态阶段消除这些隐患,减少对程序员手动遵守规则的依赖。摘要未展开具体技术机制与实验结果。

问题
持久内存编程需同时处理锁、内存管理、指针安全和 PM 特有 bug,并正确记录更新日志以支持崩溃恢复;现有库仍依赖程序员手动遵守复杂规则,容易造成数据损坏、资源泄漏或恢复失败。
方法
标题表明 Corundum 采用静态强制(statically-enforced)方式来保证持久内存安全;给定摘要未说明其具体机制。
评估
给定摘要未描述评估方式或实验结果,无法从现有信息判断;仅提到 C/C++/Java/Go 等现有 PM 库仍需程序员保证正确性。
原文摘要(Abstract)

Fast, byte-addressable, persistent main memories (PM) make it possible to build complex data structures that can survive system failures. Programming for PM is challenging, not least because it combines well-known programming challenges like locking, memory management, and pointer safety with novel PM-specific bug types. It also requires logging updates to PM to facilitate recovery after a crash. A misstep in any of these areas can corrupt data, leak resources, or prevent successful recovery after a crash. Existing PM libraries in a variety of languages -- C, C++, Java, Go -- simplify some of these problems, but they still require the programmer to learn (and flawlessly apply) complex rules to ensure correctness. Opportunities for data-destroying bugs abound.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6154,
  title = {Corundum: statically-enforced persistent memory safety},
  author = {Morteza Hoseinzadeh and Steven Swanson},
  booktitle = {ASPLOS},
  year = {2021},
  doi = {10.1145/3445814.3446710}
}