A Logic for Locally Complete Abstract Interpretations
Roberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco Ranzato
摘要
We introduce the notion of local completeness in abstract interpretation and define a logic for proving both the correctness and incorrectness of some program specification. Abstract interpretation is extensively used to design sound-by-construction program analyses that over-approximate program behaviours. Completeness of an abstract interpretation A for all possible programs and inputs would be an ideal situation for verifying correctness specifications, because the analysis can be done compositionally and no false alert will arise. Our first result shows that the class of programs whose abstract analysis on A is complete for all inputs has a severely limited expressiveness. A novel notion of local completeness weakens the above requirements by considering only some specific, rather than all, program inputs and thus finds wider applicability. In fact, our main contribution is the design of a proof system, parameterized by an abstraction A, that, for the first time, combines over- and under-approximations of program behaviours. Thanks to local completeness, in a provable triple ⊢A [P ] c [Q], the assertion Q is an under-approximation of the strongest post-condition postc such that the abstractions in A of Q and postc coincide. This means that Q is never too coarse, namely, under mild assumptions, the abstract interpretation of c does not yield false alerts for the input P iff Q has no alert. Thus, ⊢ A [P ] c [Q] not only ensures that all the alerts raised in Q are true ones, but also that if Q does not raise alerts then c is correct.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper15
- Outcome Logic: A Unifying Foundation for Correctness and Incorrectness ReasoningNoam Zilberstein, Derek Dreyer, Alexandra SilvaOOPSLA 2023 · 被引用 39 次
- Hyper Hoare Logic: (Dis-)Proving Program HyperpropertiesThibault Dardinier, Peter MüllerPLDI 2024 · 被引用 28 次
- Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational EffectsNoam Zilberstein, Angelina Saliling, Alexandra SilvaOOPSLA 2024 · 被引用 16 次
- Abstract interpretation repairRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco RanzatoPLDI 2022 · 被引用 15 次
- Quantitative strongest post: a calculus for reasoning about the flow of quantitative informationLinpeng Zhang, Benjamin Lucien KaminskiOOPSLA 2022 · 被引用 14 次
它引用的顶会 Paper2
- Local Reasoning About the Presence of Bugs: Incorrectness Separation LogicAzalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer 等CAV 2020 · 被引用 70 次
- Abstract extensionality: on the properties of incomplete abstract interpretationsRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Isabel Garcia-Contreras 等POPL 2020 · 被引用 27 次
相关 Paper
- Abstract Interpretation with Confidence: Quantifying the Precision of Dataflow Analysis with ProbabilitiesYuanfeng Shi, Ziyue Jin, Xin ZhangPLDI 2026
- A Logic for the Imprecision of Abstract InterpretationsMarco Campion, Mila Dalla Preda, Roberto Giacobazzi, Caterina UrbanPOPL 2026 · 被引用 2 次
- The Best of Abstract InterpretationsRoberto Giacobazzi, Francesco RanzatoPOPL 2025 · 被引用 1 次
- Partial (In)Completeness in abstract interpretation: limiting the imprecision in program analysisMarco Campion, Mila Dalla Preda, Roberto GiacobazziPOPL 2022 · 被引用 21 次
- Systematic Design of Separation LogicsRoberto Bruni, Lorenzo Gazzella, Roberta GoriOOPSLA 2026
