paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Products of Recursive Programs for Hypersafety Verification

面向超安全验证的递归程序乘积
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 论文属于形式化验证与静态分析方向,涉及递归程序与超安全验证,与用户对程序分析/验证的兴趣有领域重叠;但完全不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,未命中用户当前核心的 PL×AI 交叉问题。引用 0 inbox
Ruotong Cheng, Azadeh Farzan
crossref: 2026-09-10

AI 速览

一句话:提出递归乘积程序构造框架,将无限状态递归程序的超安全验证归约为标准安全验证。

无限状态递归程序的超安全性质验证需同时推理多条执行路径,难以直接归约为标准安全验证。本文提出一类专为递归设计的乘积程序,将递归超安全验证归约为经典递归程序的安全验证。方法结合语言理论与并发理论:利用可见下推语言保持语法对齐的递归结构,使乘积程序可在单栈上执行;并推广并发理论,将多个递归程序的并行组合视为所有可能对齐的集合,从中选出可靠保持超安全性质的对齐。作者还提出一族参数化的规范乘积构造,便于为关系与超安全验证指定乘积程序并自动验证。实现与实验显示该方法有效且有前景。

问题
如何自动验证无限状态递归程序的超安全性质(如关系性质与 k-safety),这类性质需同时推理多条执行路径,无法直接归约为标准安全验证。
方法
构造一类递归乘积程序,利用可见下推语言保持程序对齐的递归结构,并借鉴并发理论从并行组合的所有可能对齐中选取可靠对齐,从而将超安全验证归约为安全验证;同时提供参数化规范乘积构造族作为可复用构建块。
评估
实现了原型工具,并在实验中取得有前景的结果,验证了将递归超安全验证归约为现有安全验证技术的有效性。
原文摘要(Abstract)

We study the problem of automated hypersafety verification of infinite-state recursive programs . We propose an infinite class of product programs , specifically designed with recursion in mind, that reduce the hypersafety verification of a recursive program to standard safety verification. For this, we combine insights from language theory and concurrency theory to propose an algorithmic solution for constructing an infinite class of recursive product programs. One key insight is that, using the simple theory of visibly pushdown languages , one can maintain the recursive structure of syntactic program alignments which is vital to constructing a new product program that can be viewed as a classic recursive program — that is, one that can be executed on a single stack. Another key insight is that techniques from concurrency theory can be generalized to help define product programs based on the view that the parallel composition of individual recursive programs includes all possible alignments from which a sound set of alignments that faithfully preserve the satisfaction of the hypersafety property can be selected. On the practical side, we formulate a family of parametric canonical product constructions that are intuitive to programmers and can be used as building blocks to specify recursive product programs for the purpose of relational and hypersafety verification, with the idea that the right product program can be verified automatically using existing techniques. We demonstrate the effectiveness of these techniques through an implementation and highly promising experimental results.

链接与引用

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

BibTeX
@article{paperbot2990,
  title = {Products of Recursive Programs for Hypersafety Verification},
  author = {Ruotong Cheng and Azadeh Farzan},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763160}
}