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.
Similar content being viewed by others
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/s100090050017