paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Symbolic MRD: Dynamic Memory, Undefined Behaviour, and Extrinsic Choice

Symbolic MRD:动态内存、未定义行为与外在选择
OOPSLA 9(OOPSLA1)2025匹配度 2/10 · 论文属于传统 PL/编译方向的内存模型与形式化语义工作,涉及别名分析和未定义行为,但未涉及用户当前核心关注的 PL↔AI、LLM/Agent、浮点程序分析或贝叶斯程序分析。引用 1 inbox
Jay Richards, Daniel Wright, Simon Cooksey, Mark Batty
crossref: 2026-09-10

AI 速览

一句话:提出首个无 thin-air 的 C/C++ 内存模型,支持别名分析驱动的编译器优化、未定义行为假设和外在选择,并提供高性能可执行工具。

本文针对 C/C++ 弱内存模型中 thin-air 读与编译器优化难以共存的问题,提出首个无 thin-air 的内存模型 Symbolic MRD。该模型统一处理动态内存、未定义行为以及实现层面的外在选择(如过度对齐),通过可导出的语义依赖关系与 C/C++ 内存模型集成,并支持原子操作的标准编译映射。作者给出了可执行语义与工具支持,其性能达到先进水平,运行一批测试的速度比其他可执行无 thin-air 语义快数个数量级。该模型还通过了 ISO C/C++ 内存模型最新需求清单中的全部测试,表明其与现有规范兼容。

问题
现有无 thin-air 内存模型难以同时支持基于别名分析的激进编译器优化、对未定义行为的假设以及实现的外在选择(如过度对齐)。
方法
提出 Symbolic MRD,显式建模动态内存、未定义行为与外在选择,并通过可导出的语义依赖关系与 C/C++ 内存模型集成,支持原子操作的标准编译映射。
评估
实现可执行工具并与 ISO C/C++ 需求清单及既有语义对比,运行测试的速度快数个数量级,并通过全部 ISO 需求测试。
原文摘要(Abstract)

We present the first thin-air free memory model that admits compiler optimisations that aggressively leverage knowledge from alias analysis, an assumption of freedom from undefined behaviour, and from the extrinsic choices of real implementations such as over-alignment. Our model has tooling support with state-of-the-art performance, executing a battery of tests orders of magnitude quicker than other executable thin-air free semantics. The model integrates with the C/C++ memory model through an exportable semantic dependency relation, it allows standard compilation mappings for atomics, and it matches all tests in the recently published desiderata for C/C++ from the ISO.

链接与引用

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

BibTeX
@article{paperbot3188,
  title = {Symbolic MRD: Dynamic Memory, Undefined Behaviour, and Extrinsic Choice},
  author = {Jay Richards and Daniel Wright and Simon Cooksey and Mark Batty},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA1},
  year = {2025},
  doi = {10.1145/3721089}
}