paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automating Unrealizability Logic: Hoare-Style Proof Synthesis for Infinite Sets of Programs

自动化 Unrealizability Logic:面向无限程序集的 Hoare 风格证明合成
OOPSLA 8(OOPSLA2)2024匹配度 4/10 · 论文属于程序验证/形式化方法(Hoare 风格证明合成、Unrealizability Logic),与用户关注的“形式化验证”大方向相邻,且兼具理论形式化与工具实现(Wuldo),符合其对理论+工程的偏好;但它既不涉及 LLM/Agent 用于改进静态分析,也不涉及浮点程序分析或贝叶斯程序分析,与画像中的核心交叉点(PL↔AI)没有直接关系。引用 4 inbox
Shaan Nagy, Jinwoo Kim, Thomas Reps, Loris D’Antoni
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:提出首个 Unrealizability Logic 证明合成算法 Wuldo,以语法驱动方式自动验证无限程序集并复用非终结符摘要。

验证由正则树文法定义的(可能无限)程序集,对程序合成、动态加载代码与并发代码验证均有价值,但已有技术范围受限,生成的信息难以解释和复用。Unrealizability Logic(UL)是首个针对程序集的 Hoare 风格证明系统,用非终结符摘要刻画递归非终结符。本文提出首个 UL 证明合成算法并实现为 Wuldo:将 UL 规则应用决策与摘要合成/检查解耦,以完全语法驱动的方式计算证明结构。实验表明,给定摘要时 Wuldo 能证明现有工具无法处理的问题,包括无限程序在无限输入上的行为;部分情况下可自动合成摘要;复用已证摘要使验证速度达到从头证明的 1.96 倍。

问题
如何自动验证由正则树文法定义的(可能无限)程序集,并使其证明信息可解释、可复用,是现有技术难以解决的问题。
方法
论文设计首个 Unrealizability Logic 证明合成算法 Wuldo,将规则应用与摘要合成/检查解耦,语法驱动地构造证明,并支持摘要复用与部分自动合成。
评估
在测试中,Wuldo 借助给定摘要可证明现有工具无法处理的问题,包括无限程序在无限输入上的行为;部分案例能自动合成摘要;摘要复用使验证速度提升至从头证明的 1.96 倍。
原文摘要(Abstract)

Automated verification of all members of a (potentially infinite) set of programs has the potential to be useful in program synthesis, as well as in verification of dynamically loaded code, concurrent code, and language properties. Existing techniques for verification of sets of programs are limited in scope and unable to create or use interpretable or reusable information about sets of programs. The consequence is that one cannot learn anything from one verification problem that can be used in another. Unrealizability Logic (UL), proposed by Kim et al. as the first Hoare-style proof system to prove properties over sets of programs (defined by a regular tree grammar), presents a theoretical framework that can express and use reusable insight. In particular, UL features nonterminal summaries —inductive facts that characterize recursive nonterminals (analogous to procedure summaries in Hoare logic). In this work, we design the first UL proof synthesis algorithm, implemented as Wuldo . Specifically, we decouple the problem of deciding how to apply UL rules from the problem of synthesizing/checking nonterminal summaries by computing proof structure in a fully syntax-directed fashion. We show that Wuldo , when provided nonterminal summaries, can express and prove verification problems beyond the reach of existing tools, including establishing how infinitely many programs behave on infinitely many inputs. In some cases, Wuldo can even synthesize the necessary nonterminal summaries. Moreover, Wuldo can reuse previously proven nonterminal summaries across verification queries, making verification 1.96 times as fast as when summaries are instead proven from scratch.

链接与引用

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

BibTeX
@article{NagyKRD24,
  title = {Automating Unrealizability Logic: Hoare-Style Proof Synthesis for Infinite Sets of Programs},
  author = {Shaan Nagy and Jinwoo Kim and Thomas Reps and Loris D’Antoni},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689715}
}