The Best of Abstract Interpretations
Roberto Giacobazzi, Francesco Ranzato
Abstract
We study “ the best of abstract interpretations ”, that is, the best possible abstract interpretations of programs. Abstract interpretations are inductively defined by composing abstract transfer functions for the basic commands, such as assignments and Boolean guards. However, abstract interpretation is not compositional: even if the abstract transfer functions of the basic commands are the best possible ones on a given abstract domain A this does not imply that the whole inductive abstract interpretation of a program p is still the best in A . When this happens we are in the optimal scenario where the abstract interpretation of p coincides with the abstraction of the concrete interpretation of p . Our main contributions are threefold. Firstly, we investigate the computability properties of the class of programs having the best possible abstract interpretation on a fixed abstract domain A . We show that this class is, in general, not straightforward and not recursive. Secondly, we prove the impossibility of achieving the best possible abstract interpretation of any program p either by an effective compilation of p or by minimally refining or simplifying the abstract domain A . These results show that the program property of having the best possible abstract interpretation is not trivial and, in general, hard to achieve. We then show how to prove that the abstract interpretation of a program is indeed the best possible one. To this aim, we put forward a program logic parameterized on an abstract domain A which infers triples p r e ] A p p o s t ] A . These triples encode that the inductive abstract interpretation of p on A with abstract input p r e ∈ A gives p o s t ∈ A as abstract output and this is the best possible in A .
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 7ae77c27-12b0-4a17-aa70-b708b27ea1ceCited by top-tier papers1
Ask how each one uses itBuilds on5
- Incorrectness logicPeter W. O'HearnPOPL 2020 · 122 citations
- Outcome Logic: A Unifying Foundation for Correctness and Incorrectness ReasoningNoam Zilberstein, Derek Dreyer, Alexandra SilvaOOPSLA 2023 · 39 citations
- A Logic for Locally Complete Abstract InterpretationsRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco RanzatoLICS 2021 · 34 citations
- Abstract extensionality: on the properties of incomplete abstract interpretationsRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Isabel Garcia-Contreras et al.POPL 2020 · 27 citations
- Abstract interpretation repairRoberto Bruni, Roberto Giacobazzi, Roberta Gori, Francesco RanzatoPLDI 2022 · 15 citations
Related papers
- Calculational Design of Hyperlogics by Abstract InterpretationPatrick Cousot, Jeffery WangPOPL 2025 · 3 citations
- A Logic for the Imprecision of Abstract InterpretationsMarco Campion, Mila Dalla Preda, Roberto Giacobazzi, Caterina UrbanPOPL 2026 · 2 citations
- Compiling with Abstract InterpretationDorian Lesbre, Matthieu LemerrePLDI 2024 · 6 citations
- Deterministic parallel fixpoint computationSung Kook Kim, Arnaud J. Venet, Aditya V. ThakurPOPL 2020 · 9 citations
- Inductive Program Synthesis via Iterative Forward-Backward Abstract InterpretationYongho Yoon, Woosuk Lee, Kwangkeun YiPLDI 2023 · 15 citations
