paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Structural Temporal Logic for Mechanized Program Verification

面向机器化程序验证的结构化时序逻辑
OOPSLA 9(OOPSLA2)2025匹配度 4/10 · 该论文属于程序验证与形式化验证领域,提出结构化时序逻辑用于机械化证明,但未涉及LLM/Agent、静态分析在ML/Agentic程序中的应用,也未涉及浮点或贝叶斯程序分析,因此与用户当前PL×AI交叉方向匹配度较低。引用 1 inbox
Eleftherios Ioannidis, Yannick Zakowski, Steve Zdancewic, Sebastian Angel
crossref: 2026-09-10

AI 速览

一句话:提出结构化时序逻辑 ticl,将复杂(余)归纳证明编码为结构引理,在证明助手中以高抽象层次对无限程序的安全性/活性进行组合式验证。

对带效应与非确定性的无限程序进行机器化活性验证十分困难。现有工作多在迹、自动机等模型层面推理,需使用复杂的嵌套(余)归纳技术并熟悉证明助手的守卫性检查,且脱离程序构造,丧失了 Hoare 逻辑等结构程序逻辑的模块化与组合性。为此,作者提出结构化时序逻辑 ticl,把复杂的(余)归纳证明技术编码为结构引理,使验证者只需关注 variant 与 invariant。论文在证明助手中实现了组合式、高层次的一般时序性质证明,并对调度、并发共享内存和分布式共识程序给出安全性与活性的机器化证明,且证明与代码比很低。

问题
如何对带效应和非确定性的无限程序进行组合式、高层次的机器化时序(尤其活性)验证,避免在迹/自动机模型层面进行低层复杂(余)归纳推理。
方法
提出结构化时序逻辑 ticl,将复杂(余)归纳证明技术封装为结构引理,使证明聚焦于 variant 和 invariant,在证明助手中支持程序构造层面的组合时序推理。
评估
在证明助手中机器化验证调度、并发共享内存和分布式共识程序的安全性与活性性质,并报告较低的证明-代码比,展示组合式证明的可行性。
原文摘要(Abstract)

Mechanized verification of liveness properties for infinite programs with effects and nondeterminism is challenging. Existing temporal reasoning frameworks operate at the level of models such as traces and automata. Reasoning happens at a very low-level, requiring complex nested (co-)inductive proof techniques and familiarity with proof assistant mechanics (e.g., the guardedness checker). Further, reasoning at the level of models instead of program constructs creates a verification gap that loses the benefits of modularity and composition enjoyed by structural program logics such as Hoare Logic. To address this verification gap, and the lack of compositional proof techniques for temporal specifications, we propose ticl , a new structural temporal logic. Using ticl , we encode complex (co-)inductive proof techniques as structural lemmas and focus our reasoning on variants and invariants. We show that it is possible to perform compositional proofs of general temporal properties in a proof assistant, while working at a high level of abstraction. We demonstrate the benefits of ticl by giving mechanized proofs of safety and liveness properties for programs with scheduling, concurrent shared memory, and distributed consensus, demonstrating a low proof-to-code ratio.

链接与引用

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

BibTeX
@article{paperbot2965,
  title = {Structural Temporal Logic for Mechanized Program Verification},
  author = {Eleftherios Ioannidis and Yannick Zakowski and Steve Zdancewic and Sebastian Angel},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763091}
}