paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order Programs

代数时序效应:递归类型高阶程序的时序验证
POPL 9(POPL)2025匹配度 2/10 · 该论文属于纯 PL/类型系统与形式化验证方向,研究递归类型下高阶程序的时序效应与安全性/活性证明,并未涉及用户画像核心的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析。虽然同属程序验证与静态分析的大领域,但与当前追踪的具体问题距离较远。引用 1 inbox
Taro Sekiyama, Hiroshi Unno
crossref: 2026-09-10

AI 速览

一句话:提出代数时序效应,用 later 模态处理递归类型,为高阶程序提供可证明安全性与活性的时序效应系统。

时序效应已被效应系统用于验证带递归函数的高阶程序的线性时序安全性与活性,但推广到递归类型时,递归类型易产生非结构化循环,破坏计算无限行为的正则性,使活性验证变得困难。本文提出带 later 模态的代数时序效应,通过对递归类型产生的晦涩循环进行分层来刻画非终止程序的行为。作者以代数方式公理化时序效应,明确可靠推理程序所需满足的条件,并在此基础上建立效应系统,证明安全性与活性两种可靠性。文中给出两个实例:基于 ω-正则表达式的时序正则效应,以及基于一阶不动点逻辑的时序不动点效应,并通过并发与面向对象程序等例子展示其实用性。

问题
如何将时序效应推广到递归类型的高阶程序,以静态验证线性时序安全性与活性?递归类型造成的非结构化循环会掩盖无限计算行为的正则性,给活性验证带来困难。
方法
引入带 later 模态的时序效应以对递归类型引起的循环分层,并以代数方式公理化时序效应;在此之上构建效应系统并证明其安全性与活性可靠性,同时给出基于 ω-正则表达式与一阶不动点逻辑的两个实例。
评估
通过安全性(safety)与活性(liveness)两类可靠性定理证明效应系统的正确性,并用并发程序与面向对象程序等实例展示两个实例化时序效应的实用性。
原文摘要(Abstract)

We present a general form of temporal effects for recursive types. Temporal effects have been adopted by effect systems to verify both linear-time temporal safety and liveness properties of higher-order programs with recursive functions. A challenge in a generalization to recursive types is that recursive types can easily cause unstructured loops, which obscure the regularity of the infinite behavior of computation and make it harder to statically verify liveness properties. To solve this problem, we introduce temporal effects with a later modality, which enable us to capture the behavior of non-terminating programs by stratifying obscure loops caused by recursive types. While temporal effects in the prior work are based on certain concrete formal forms, such as logical formulas and automata-based lattices, our temporal effects, which we call algebraic temporal effects , are more abstract, axiomatizing temporal effects in an algebraic manner and clarifying the requirements for temporal effects that can reason about programs soundly. We formulate algebraic temporal effects, formalize an effect system built on top of them, and prove two kinds of soundness of the effect system: safety and liveness soundness. We also introduce two instances of algebraic temporal effects: one is temporal regular effects , which are based on ω -regular expressions, and the other is temporal fixpoint effects , which are based on a first-order fixpoint logic. Their usefulness is demonstrated via examples including concurrent and object-oriented programs.

链接与引用

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

BibTeX
@article{paperbot3238,
  title = {Algebraic Temporal Effects: Temporal Verification of Recursively Typed Higher-Order Programs},
  author = {Taro Sekiyama and Hiroshi Unno},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704914}
}