paperbot · PL 论文追踪

全部论文 待读 收藏

P2 The Best of Abstract Interpretations

最佳抽象解释
POPL 9(POPL)2025匹配度 3/10 · 论文研究抽象解释的最优性、可计算性与程序逻辑,属于静态分析与形式验证的基础理论,但与用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析均无直接关联,仅在外围理论基础上相关。引用 1 inbox
Roberto Giacobazzi, Francesco Ranzato
crossref: 2026-09-10

AI 速览

一句话:研究程序何时在给定抽象域上达到最佳抽象解释,证明其不可计算与难以达成,并提出证明最佳性的程序逻辑。

本文研究“最佳抽象解释”,即程序在固定抽象域 A 上可能达到的最佳抽象解释。抽象解释由基本命令的抽象转移函数归纳组合,但不具组合性:即使基本命令在 A 上最佳,整个程序 p 的归纳抽象解释也未必最佳;最佳时它与具体解释的抽象一致。作者证明,在固定 A 上具有最佳抽象解释的程序类一般不简单且不可递归;并且无法通过对 p 的有效编译或对 A 的最小细化/简化,使任意程序获得最佳抽象解释,说明该性质非平凡且难以达成。最后,为证明某抽象解释确实最佳,作者提出以 A 为参数的程序逻辑,可推导形如 pre]A p post]A 的三元组,表示 p 从抽象输入 pre 得到抽象输出 post,且该结果在 A 中最佳。

问题
抽象解释不具组合性:基本命令的抽象转移函数在抽象域 A 上最佳,并不保证整个程序 p 的归纳抽象解释在 A 中最佳。论文研究何时能达到最佳抽象解释,以及该性质的可计算性与可证明性。
方法
通过可计算性分析证明具有最佳抽象解释的程序类不可递归,并给出编译与抽象域细化/简化均无法保证最佳的不可能性结果;进而提出参数化于抽象域 A 的程序逻辑来推导表示最佳性的三元组。
评估
以理论证明为主:建立不可递归性与不可能性定理,并用所提出的程序逻辑刻画和证明抽象解释的最佳性;摘要未报告实证实验。
原文摘要(Abstract)

We study “ the best of abstract interpretations ”, that is, the best possible abstract interpretations of programs. Abstract interpretations are inductively defined by composing abstract transfer functions for the basic commands, such as assignments and Boolean guards. However, abstract interpretation is not compositional: even if the abstract transfer functions of the basic commands are the best possible ones on a given abstract domain A this does not imply that the whole inductive abstract interpretation of a program p is still the best in A . When this happens we are in the optimal scenario where the abstract interpretation of p coincides with the abstraction of the concrete interpretation of p . Our main contributions are threefold. Firstly, we investigate the computability properties of the class of programs having the best possible abstract interpretation on a fixed abstract domain A . We show that this class is, in general, not straightforward and not recursive. Secondly, we prove the impossibility of achieving the best possible abstract interpretation of any program p either by an effective compilation of p or by minimally refining or simplifying the abstract domain A . These results show that the program property of having the best possible abstract interpretation is not trivial and, in general, hard to achieve. We then show how to prove that the abstract interpretation of a program is indeed the best possible one. To this aim, we put forward a program logic parameterized on an abstract domain A which infers triples p r e ] A p p o s t ] A . These triples encode that the inductive abstract interpretation of p on A with abstract input p r e ∈ A gives p o s t ∈ A as abstract output and this is the best possible in A .

链接与引用

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

BibTeX
@article{paperbot3219,
  title = {The Best of Abstract Interpretations},
  author = {Roberto Giacobazzi and Francesco Ranzato},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704882}
}