paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Exact Loop Bound Analysis

精确循环界分析
PLDI 9(PLDI)2025匹配度 3/10 · 论文属于传统程序分析与形式验证中的循环界精确分析,有工具与基准,但与用户关心的 LLM/Agent 交叉、浮点程序分析或贝叶斯程序分析均无直接关联。仅可作为静态分析/验证背景参考。引用 0 inbox
Daniel Riley, Grigory Fedyukovich
crossref: 2026-09-10

AI 速览

一句话:提出通过前置条件合成计算程序精确循环界的方法,并实现工具 ELBA 验证其有效性。

现有循环界分析多关注上界或下界,精确界分析仍较少,但具有新应用。计算精确界需推理程序输入取值及其相互关系,而输入随执行变化,因而困难。本文提出通过前置条件合成求精确界:迭代考虑程序的下近似,在这些条件下可基于变量初值预先计算界;对每个前置条件,合成一个程序变量上的函数,将其作用于初值即可输出程序精确界。作者把前置条件合成归约为安全性验证,从而为所得精确界提供正确性保证。该方法实现为工具 ELBA,并在线性整数算术下一组有挑战的单循环基准上证明有效。

问题
现有循环界分析多求上界或下界,如何为含可变输入的程序计算精确循环界仍困难且研究不足。
方法
通过迭代合成前置条件并归约到安全性验证,合成从变量初值到精确界的函数,从而计算精确循环界。
评估
在工具 ELBA 中实现该方法,并在线性整数算术下一组有挑战的单循环基准上评测其有效性。
原文摘要(Abstract)

There are many state-of-the-art techniques for loop bound analysis. Most of them target an upper bound for a given program, and others find a lower bound. Exact bound analysis still remains largely unexplored, but it offers new applications. To compute an exact bound for a program it is necessary to reason about the possible values the program’s inputs can take and how they relate to each other. Since inputs can vary on any given execution of the program, it makes the problem of computing an exact bound challenging. In this work, we present a new approach to find an exact bound by way of precondition synthesis which iteratively considers under-approximations of a program under which the bound can be precomputed over initial values of program variables. For each precondition, our approach synthesizes a function over program variables such that when the function is applied to the initial values of the program variables, its output is an exact bound for the program. We reduce the precondition synthesis problem to that of safety verification which lends its correctness guarantees to the exact bounds we compute. Our technique has been implemented in a tool called ELBA, and we show that it is effective on a set of challenging single loop benchmarks under Linear Integer Arithmetic.

链接与引用

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

BibTeX
@article{paperbot3069,
  title = {Exact Loop Bound Analysis},
  author = {Daniel Riley and Grigory Fedyukovich},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729323}
}