paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Partial (In)Completeness in abstract interpretation: limiting the imprecision in program analysis

抽象解释中的部分(不)完备性:限制程序分析中的不精确性
POPL 6(POPL)2022匹配度 4/10 · 该论文是抽象解释中关于误差传播与部分完备性的理论研究,与用户关注的浮点程序分析有潜在基础关联,但未涉及LLM/Agent、AI辅助静态分析或贝叶斯程序分析等核心交叉方向,也未体现工业落地或benchmark驱动。引用 21 inbox
Marco Campion, Mila Dalla Preda, Roberto Giacobazzi
crossref: 2026-09-10

AI 速览

一句话:提出抽象解释中误差传播理论与部分完备性概念,并用证明系统估计分析累积误差上界。

可判定且可靠的程序性质近似必然带来不精确性,在抽象解释中表现为误报。本文提出一套估计抽象解释乃至程序分析中误差传播的理论:通过为抽象域加入一种弱化的度量距离,使描述近似对象相对精度的标准偏序与近似所产生的实际误差保持一致。作者将完备性(精确性)减弱为部分完备性,允许抽象解释器产生有界数量的误报,并证明对具有给定不精确界且部分完备的程序类成立的关键递归性质。进一步,他们建立证明系统,用于估计抽象解释器在分析过程中累积误差的上界。该框架足够通用,可实例化到多数已知抽象域度量。

问题
抽象解释对不可判定性质进行可靠近似时会产生误报,因此需要估计并控制分析过程中累积的不精确性,并合理放宽对完备性/精确性的要求。
方法
为抽象域引入一种弱化的度量距离,定义部分完备性作为精确性的减弱,证明相关程序类的递归性质,并设计估计抽象解释器累积误差上界的证明系统。
评估
以形式化性质证明和通用性论证为主,说明该框架可实例化到多种已知抽象域度量;摘要未报告实验评估。
原文摘要(Abstract)

Imprecision is inherent in any decidable (sound) approximation of undecidable program properties. In abstract interpretation this corresponds to the release of false alarms, e.g., when it is used for program analysis and program verification. As all alarming systems, a program analysis tool is credible when few false alarms are reported. As a consequence, we have to live together with false alarms, but also we need methods to control them. As for all approximation methods, also for abstract interpretation we need to estimate the accumulated imprecision during program analysis. In this paper we introduce a theory for estimating the error propagation in abstract interpretation, and hence in program analysis. We enrich abstract domains with a weakening of a metric distance. This enriched structure keeps coherence between the standard partial order relating approximated objects by their relative precision and the effective error made in this approximation. An abstract interpretation is precise when it is complete. We introduce the notion of partial completeness as a weakening of precision. In partial completeness the abstract interpreter may produce a bounded number of false alarms. We prove the key recursive properties of the class of programs for which an abstract interpreter is partially complete with a given bound of imprecision. Then, we introduce a proof system for estimating an upper bound of the error accumulated by the abstract interpreter during program analysis. Our framework is general enough to be instantiated to most known metrics for abstract domains.

链接与引用

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

BibTeX
@article{paperbot1546,
  title = {Partial (In)Completeness in abstract interpretation: limiting the imprecision in program analysis},
  author = {Marco Campion and Mila Dalla Preda and Roberto Giacobazzi},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {POPL},
  year = {2022},
  doi = {10.1145/3498721}
}