paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Interprocedural Context-Unbounded Program Analysis Using Observation Sequences

使用观察序列的过程间上下文无界程序分析
TOPLAS 42(4)2020匹配度 3/10 · 论文是并发程序验证的形式化方法,具有理论深度和实验评估,但未涉及用户画像中核心的LLM/Agent交叉、浮点程序分析或贝叶斯程序分析,因此与主要研究方向匹配度不高。引用 1 inbox
Peizun Liu, Thomas Wahl, Thomas Reps
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出观察序列验证范式,以允许的线程上下文切换数为资源参数,实现可证明上下文无界安全性的过程间并发程序可达性分析。

并发递归过程间的可达性分析不可判定。Qadeer 与 Rehof 的上下文定界方法限制线程间上下文切换次数,实用但不完备,难以证明无 bug。本文提出面向资源参数化程序的通用验证范式——观察序列:观察资源参数增大如何影响满足性质的状态可达性;若序列在某截断参数后收敛,则性质对所有参数值成立。作者以允许的线程上下文切换数为资源,将其用于上下文无界程序分析,得到部分正确的并发共享内存程序过程间可达性分析技术。该技术可能不终止,但既能反驳也能证明上下文无界安全性。多类基准实验表明其有效且高效,并能证明早先上下文定界方法无法证明的安全实例。

问题
并发递归程序的过程间可达性在一般情况下不可判定,现有上下文定界分析只能发现有限上下文内的错误,无法证明上下文无界安全性。
方法
提出观察序列验证范式,将线程上下文切换数作为资源参数,通过检测可达性随参数增加而收敛的截断点,对资源参数化程序进行过程间可达性分析。
评估
在多种基准程序上实现并评估该技术,显示其有效性和效率,并能证明早期上下文定界方法无法证明的安全实例。
原文摘要(Abstract)

A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to bound the number of context switches allowed between the threads, leads to an incomplete solution that is, however, believed to catch “most bugs” in practice, as errors tend to occur within few contexts. The question of whether the technique can also prove the absence of bugs at least in some cases has remained largely open. Toward closing this gap, we introduce in this article the generic verification paradigm of observation sequences for resource-parameterized programs. Such a sequence observes how increasing the resource parameter affects the reachability of states satisfying a given property. The goal is to show that increases beyond some “cutoff” parameter value have no impact on the reachability—the sequence has converged . This allows us to conclude that the property holds for all parameter values. We applied this paradigm to the context- unbounded program analysis problem, choosing the resource to be the number of permitted thread context switches. The result is a partially correct interprocedural reachability analysis technique for concurrent shared-memory programs. Our technique may not terminate but is able to both refute and prove context-unbounded safety for such programs. We demonstrate the effectiveness and efficiency of the technique using a variety of benchmark programs. The safe instances cannot be proved safe by earlier, context-bounded methods.

链接与引用

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

BibTeX
@article{LiuWR21,
  title = {Interprocedural Context-Unbounded Program Analysis Using Observation Sequences},
  author = {Peizun Liu and Thomas Wahl and Thomas Reps},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {42},
  number = {4},
  year = {2020},
  doi = {10.1145/3418583}
}