paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Bridging the gap between programming languages and hardware weak memory models

弥合编程语言与硬件弱内存模型之间的鸿沟
POPL 3(POPL)2019匹配度 2/10 · 论文属于编程语言与形式验证中的弱内存模型和编译正确性方向,与用户关注的 AI/LLM 结合静态分析、浮点程序分析或贝叶斯程序分析基本无关;仅在形式化验证和 Coq 机器证明层面与“AI→PL 改进形式化验证”有非常间接的联系。引用 55 inbox
Anton Podkopaev, Ori Lahav, Viktor Vafeiadis
crossref: 2026-09-10

AI 速览

一句话:提出中间弱内存模型 IMM,将并发语言到 POWER/ARM 的编译正确性证明模块化,并在 Coq 中机器验证。

该论文研究如何把带有弱内存一致性语义的并发编程语言到主流多核体系结构(POWER、ARM)的编译正确性证明进行模块化。作者提出一个新的中间弱内存模型 IMM,作为语言级内存模型与硬件内存模型之间的桥梁,从而把编译正确性证明拆分为「语言到 IMM」与「IMM 到硬件」两个可独立处理的部分。借助 IMM,作者证明了 Kang 等人提出的 promising semantics 到 POWER(同时修正并改进了他们原有的结果)、ARMv7 以及新修订的 ARMv8 模型的编译正确性。所有结果都在 Coq 中机械化验证,据作者所知,这是首个针对弱于 x86-TSO 的内存模型的机器验证编译正确性结果。

问题
并发编程语言通常具有弱内存一致性语义,而主流多核硬件(POWER、ARM)也各有其弱内存模型,此前缺乏对弱于 x86-TSO 的模型进行机器验证的编译正确性证明。
方法
引入中间弱内存模型 IMM 作为语言语义与硬件模型之间的公共抽象层,将编译正确性证明分解为语言到 IMM、IMM 到硬件两个模块化步骤,并在 Coq 中机械化全部证明。
评估
以 IMM 为中介,证明了 promising semantics 到 POWER、ARMv7 和 ARMv8 的编译正确性,其中对到 POWER 的原有结果做了修正与改进;全部证明在 Coq 中机器验证。
原文摘要(Abstract)

We develop a new intermediate weak memory model, IMM, as a way of modularizing the proofs of correctness of compilation from concurrent programming languages with weak memory consistency semantics to mainstream multi-core architectures, such as POWER and ARM. We use IMM to prove the correctness of compilation from the promising semantics of Kang et al. to POWER (thereby correcting and improving their result) and ARMv7, as well as to the recently revised ARMv8 model. Our results are mechanized in Coq, and to the best of our knowledge, these are the first machine-verified compilation correctness results for models that are weaker than x86-TSO.

链接与引用

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

BibTeX
@article{paperbot670,
  title = {Bridging the gap between programming languages and hardware weak memory models},
  author = {Anton Podkopaev and Ori Lahav and Viktor Vafeiadis},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3290382}
}