PAG/WWW Logo

© 1998-2008 Saarland University and AbsInt


 How to build your own analysis: Overview
 

PAG/WWW builds custom analyses from the text description you enter. You have to specify the framework of your analysis by providing information about the direction of your analysis, the datatypes it uses, the transfer function that calculates the actual analysis data at each statement and how incoming information is combined at each node.

PAG/WWW features a functional language to annotate the transfer functions, the definition of custom data types and specification of the analysis parameters. PAG/WWW supports interprocedural analyses with call strings of length 0. Future versions of PAG/WWW may even support call strings of any non-zero length specified by the user.

An analysis specification consists of four sections:

  • TYPE
    In this section you specify datatypes that are used in your analysis.
    This section is optional if the built-in types are sufficient for your analysis.

  • PROBLEM
    The problem section is used to describe the framework that your analysis uses. You specify the direction of the analysis, the complete lattice your analysis works on (also called the carrier type), initialization values and a combine function (usually just the LUB or GLB function on the carrier type, but arbitrarily complex functions are allowed here).
    The problem section is mandatory as it defines the heart of your analysis.

  • TRANSFER
    In the transfer section you define functions (similar to kill and gen) that compute the exit information at a certain label from the entry information of that label.
    The transfer section is mandatory.

  • SUPPORT
    The support section is the place to define common functions and subexpressions that you need in your transfer functions.
    The support section is optional.

Next step

Contents

  1. Overview
  2. Specifying datatypes in the TYPE section
  3. Specifying the framework of your analysis in the PROBLEM section
  4. The FULA language
  5. Global FULA variables
  6. Specifying the TRANSFER section
  7. The SUPPORT section
  8. Built-in PAG/WWW functions
  9. A formal description of the analysis specification syntax

Search


 

for 

 

 

Please send any suggestions, comments or questions to Martin@cs.uni-sb.de.