Skip to main content

PAG – an efficient program analyzer generator

The program analyzer generator PAG described in this paper attempts to offer the best of both worlds, specification languages based on the clean theory of abstract interpretation and efficient implementation methods from the theory of data flow analysis. PAG has a high level functional input language to specify data flow analyses. It offers the generation of complex data structures and is therefore not limited to bit vector problems. PAG generated interprocedural analyzers can be easily integrated into existing compilers.

PAG has successfully been used in the ESPRIT project COMPARE to generate several analyzers (including alias analysis and constant propagation) for industrial quality ANSI-C and Fortran90 compilers, and is now marketed by the spin-off company AbsInt.A simplified version of PAG can be interactively tested over the Web.

This is a preview of subscription content, access via your institution.

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Martin, F. PAG – an efficient program analyzer generator. STTT 2, 46–67 (1998). https://doi.org/10.1007/s100090050017

Download citation

  • Key words: Data flow analysis – Specification and generation of analyzers – Abstract interpretation – Interprocedural analysis – Compiler construction