paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Inferring frame conditions with static correlation analysis

利用静态相关性分析推断 frame conditions
POPL 3(POPL)2019匹配度 3/10 · 论文属于抽象解释、静态分析与形式化验证,与用户的方法论基础相关,但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也没有将静态分析应用于机器学习系统或 Agentic 程序,因此与用户当前核心的 PL+AI 交叉方向匹配有限。引用 5 inbox
Oana F. Andreescu, Thomas Jensen, Stéphane Lescuyer, Benoît Montagu
crossref: 2026-09-10

AI 速览

一句话:提出相关性抽象域,自动推断程序输入输出间的相等关系,并用于生成 frame conditions、简化微内核不变式证明。

论文针对程序验证中 frame conditions 难以自动推断的问题,提出表示程序输入与输出部分之间相等关系的“相关性”抽象域。作者形式化相关性理论并在证明助手中机器验证其语义性质,随后为带代数数据类型和数组的一阶语言设计跨过程静态数据流分析,自动推断相关性。该分析在工业规模微内核的代码与函数规约上评估了精度和执行开销;利用推断出的相关性,能够自动消解与该微内核不变式保持相关的三分之二证明义务。

问题
如何自动推断可用于描述过程副作用的 frame conditions,以减轻程序验证中的证明负担。
方法
定义输入输出间相等关系的相关性抽象域,形式化并机器验证其语义性质,并为带代数数据类型和数组的一阶语言设计跨过程静态数据流分析。
评估
在工业规模微内核的代码和函数规约上评估分析精度与开销,并用推断结果自动消解约三分之二的不变式保持证明义务。
原文摘要(Abstract)

We introduce the abstract domain of correlations to denote equality relations between parts of inputs and outputs of programs. We formalise the theory of correlations, and mechanically verify their semantic properties. We design a static inter-procedural dataflow analysis for automatically inferring correlations for programs written in a first-order language equipped with algebraic data-types and arrays. The analysis, its precision and execution cost, have been evaluated on the code and functional specification of an industrial-size micro-kernel. We exploit the inferred correlations to automatically discharge two thirds of the proof obligations related to the preservation of invariants for this micro-kernel.

链接与引用

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

BibTeX
@article{paperbot617,
  title = {Inferring frame conditions with static correlation analysis},
  author = {Oana F. Andreescu and Thomas Jensen and Stéphane Lescuyer and Benoît Montagu},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3290360}
}