Partial (In)Completeness in abstract interpretation: limiting the imprecision in program analysis
Marco Campion, Mila Dalla Preda, Roberto Giacobazzi
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.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 1d3d9c8a-d2fe-44c5-9685-21a5f514ff16Cited by top-tier papers5
- Sound and Partially-Complete Static Analysis of Data-Races in GPU ProgramsDennis Liew, Tiago Cogumbreiro, Julien LangeOOPSLA 2024 · 10 citations
- A Logic for the Imprecision of Abstract InterpretationsMarco Campion, Mila Dalla Preda, Roberto Giacobazzi, Caterina UrbanPOPL 2026 · 2 citations
- Monotonicity and the Precision of Program AnalysisMarco Campion, Mila Dalla Preda, Roberto Giacobazzi, Caterina UrbanPOPL 2024 · 1 citation
- Abstract Interpretation with Confidence: Quantifying the Precision of Dataflow Analysis with ProbabilitiesYuanfeng Shi, Ziyue Jin, Xin ZhangPLDI 2026
- SAIL: Sound Abstract Interpreters with LLMsQiuhan Gu, Avaljot Singh, Gagandeep SinghPLDI 2026
Related papers
- A Logic for Locally Complete Abstract InterpretationsRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco RanzatoLICS 2021 · 34 citations
- Abstract interpretation repairRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco RanzatoPLDI 2022 · 15 citations
- Deterministic parallel fixpoint computationSung Kook Kim, Arnaud J. Venet, Aditya V. ThakurPOPL 2020 · 9 citations
- Abstract extensionality: on the properties of incomplete abstract interpretationsRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Isabel Garcia-Contreras et al.POPL 2020 · 27 citations
- Precise Data-Driven Approximation for Program Analysis via FuzzingNikhil Parasaram, Earl T. Barr, Sergey Mechtaev, Marcel BöhmeASE 2023 · 1 citation
