A2I: Abstract2 interpretation

Patrick Cousot, Francesco Ranzato, Roberto Giacobazzi

Research output: Contribution to journalArticlepeer-review


The fundamental idea of Abstract2 Interpretation (A2I), also called meta-abstract interpretation, is to apply abstract interpretation to abstract interpretation-based static program analyses. A2I is generally meant to use abstract interpretation to analyse properties of program analysers. A2I can be either offline or online. Offline A2I is performed either before the program analysis, such as variable packing used by the Astrée program analyser, or after the program analysis, such as in alarm diagnosis. Online A2I is performed during the program analysis, such as Venet's cofibred domains or Halbwachs et al.'s and Singh et al.'s variable partitioning techniques for fast polyhedra/numerical abstract domains. We formalize offline and online meta-abstract interpretation and illustrate this notion with the design of widenings and the decomposition of relational abstract domains to speed-up program analyses. This shows how novel static analyses can be extracted as meta-abstract interpretations to design efficient and precise program analysis algorithms.

Original languageEnglish (US)
Article number42
JournalProceedings of the ACM on Programming Languages
Issue numberPOPL
StatePublished - Jan 2019


  • Abstract interpretation
  • Meta-abstract interpretation
  • Program analysis

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'A2I: Abstract2 interpretation'. Together they form a unique fingerprint.

Cite this