paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Verified code generation for the polyhedral model

多面体模型的已验证代码生成
POPL 5(POPL)2021匹配度 2/10 · 论文属于多面体模型代码生成的形式化验证与证明工程,虽与形式化验证相关,但未涉及 LLM/Agent、静态分析或浮点/贝叶斯程序分析,与当前以 PL×AI 交叉为核心的研究画像距离较远。引用 9 inbox
Nathanaël Courant, Xavier Leroy
crossref: 2026-09-10

AI 速览

一句话:在 Coq 中形式化多面体模型到顺序代码的生成器,并证明其语义保持。

多面体模型是一种面向循环嵌套的高层中间表示,能优雅支持大量循环优化。编译器在完成多面体循环优化后,必须将多面体表示重新生成顺序或并行循环嵌套,这一过程既必要又困难。本文针对从多面体表示生成顺序代码的代码生成器,给出形式化描述并证明其语义保持性。作者在 Coq 证明助手中机器化该形式化与证明,从而为多面体编译流程中的代码生成阶段提供经过验证的保障。

问题
多面体优化后,如何从多面体表示可靠地重新生成顺序循环嵌套,并保证生成代码与原程序语义一致。
方法
对多面体表示到顺序代码的生成器进行形式化,并在 Coq 证明助手中机器化证明其语义保持性。
评估
通过 Coq 证明助手完成形式化与证明,验证代码生成器的语义保持性。
原文摘要(Abstract)

The polyhedral model is a high-level intermediate representation for loop nests that supports elegantly a great many loop optimizations. In a compiler, after polyhedral loop optimizations have been performed, it is necessary and difficult to regenerate sequential or parallel loop nests before continuing compilation. This paper reports on the formalization and proof of semantic preservation of such a code generator that produces sequential code from a polyhedral representation. The formalization and proofs are mechanized using the Coq proof assistant.

链接与引用

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

BibTeX
@article{paperbot1180,
  title = {Verified code generation for the polyhedral model},
  author = {Nathanaël Courant and Xavier Leroy},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  year = {2021},
  doi = {10.1145/3434321}
}