paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Stable relations and abstract interpretation of higher-order programs

稳定关系与高阶程序的抽象解释
ICFP 4(ICFP)2020匹配度 3/10 · 论文属于高阶程序的形式语义与抽象解释,是静态分析的理论基础,但未涉及 LLM/Agent、机器学习系统、浮点程序分析或贝叶斯程序分析,与用户画像中的核心交叉方向不直接相关。引用 7 inbox
Benoît Montagu, Thomas Jensen
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出未类型化传值 λ 演算的稳定关系指称语义,并据此导出高阶程序模块化关系分析。

本文针对高阶程序缺乏兼具语义基础与模块化能力的关系分析这一问题,为未类型化传值 λ 演算提出一种新的指称语义:项被解释为替换与值之间的二元稳定关系,并满足单调性。该语义刻画高阶程序的输入-输出行为,相对于操作语义被证明是可靠且完备的,同时可呈现为一种程序逻辑。作者遵循抽象解释原则,将该指称语义用作收集语义,推导出面向高阶程序的模块化关系分析;该分析能推断程序参数与结果之间的相等关系,从而为函数式程序提供一种 frame condition。评估以形式化语义性质与推导分析为主。

问题
如何为高阶程序建立既具语义基础、又能模块化推断参数与结果关系(frame condition)的分析?
方法
为未类型化传值 λ 演算定义稳定关系指称语义,证明其相对操作语义可靠且完备,并将其作为抽象解释的收集语义导出模块化关系分析。
评估
通过语义的可靠性与完备性证明进行评估,并展示该分析能够推断程序参数与结果之间的相等关系。
原文摘要(Abstract)

We present a novel denotational semantics for the untyped call-by-value λ-calculus, where terms are interpreted as stable relations , i.e. as binary relations between substitutions and values, enjoying a monotonicity property. The denotation captures the input-output behaviour of higher-order programs, and is proved sound and complete with respect to the operational semantics. The definition also admits a presentation as a program logic. Following the principles of abstract interpretation, we use our denotational semantics as a collecting semantics to derive a modular relational analysis for higher-order programs. The analysis infers equalities between the arguments of a program and its result—a form of frame condition for functional programs.

链接与引用

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

BibTeX
@article{MontaguJ20,
  title = {Stable relations and abstract interpretation of higher-order programs},
  author = {Benoît Montagu and Thomas Jensen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  year = {2020},
  doi = {10.1145/3409001}
}