paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Pure Demand Operational Semantics with Applications to Program Analysis

一种纯需求操作语义及其在程序分析中的应用
OOPSLA 8(OOPSLA1)2024匹配度 4/10 · 论文属于程序语言形式语义与高阶程序分析/抽象解释,与用户关注的静态分析理论基础有间接关联;但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等核心交叉方向。引用 1 inbox
Scott Smith, Robert Zhang
crossref: 2026-09-10

AI 速览

一句话:提出仅用调用栈和程序点/词法层作为状态的纯需求操作语义,并将其有限化直接导出高阶程序分析。

本文面向高阶函数式语言,提出一种极小状态的操作语义:程序状态仅由调用栈以及源程序点或词法层级组成,不显式维护环境、替换或续延等结构。作者证明该语义与标准操作语义等价。进一步,通过将该操作语义直接有限化,得到一种自然的程序分析;该分析能够推断递归/递推关系,并且不需要传统的值加宽。文章给出分析的形式定义,并介绍当前实现。该工作为程序分析提供了从语义定义直接构造分析的新途径。

问题
如何为高阶函数式语言设计状态极小的操作语义,并由此自然导出程序分析,避免传统高阶分析中环境、续延和值加宽等复杂机制。
方法
提出仅以调用栈和源程序点或词法层级为状态的纯需求操作语义,证明其与标准操作语义等价,并将该语义有限化以定义程序分析。
评估
作者给出程序分析的形式定义,并描述当前实现;摘要未报告具体实验基准或量化结果。
原文摘要(Abstract)

This paper develops a novel minimal-state operational semantics for higher-order functional languages that uses only the call stack and a source program point or a lexical level as the complete state information: there is no environment, no substitution, no continuation, etc. We prove this form of operational semantics equivalent to standard presentations. We then show how this approach can open the door to potential new applications: we define a program analysis as a direct finitization of this operational semantics. The program analysis that naturally emerges has a number of novel and interesting properties compared to standard program analyses for higher-order programs: for example, it can infer recurrences and does not need value widening. We both give a formal definition of the analysis and describe our current implementation.

链接与引用

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

BibTeX
@article{paperbot2546,
  title = {A Pure Demand Operational Semantics with Applications to Program Analysis},
  author = {Scott Smith and Robert Zhang},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649852}
}