harpoon.Analysis.PA2
Class AnalysisPolicy

java.lang.Object
  extended by harpoon.Analysis.PA2.AnalysisPolicy

public class AnalysisPolicy
extends Object

AnalysisPolicy groups together different pointer analysis options.

Version:
$Id: AnalysisPolicy.java,v 1.1 2005/08/10 02:58:19 salcianu Exp $
Author:
Alexandru Salcianu <salcianu@alum.mit.edu>

Field Summary
 boolean flowSensitivity
          Selects flow sensitivity: if on, the analysis will compute one distinct set of inside edges for each program point; o.w., the analysis will compute one set of inside edges per method.
 int fpMaxIter
          Maximum numbers of iterations in each inter-proc. fixed-point equations, i.e., how many times a method may be re-examined before the fixed-point computations gives up and considers that all calls to that method are unanalyzable
 int staticCallDepth
          Lower bound of the static call depth.
 
Constructor Summary
AnalysisPolicy(boolean flowSensitivity, int staticCallDepth, int fpMaxIter)
           
 
Method Summary
 boolean equals(Object o)
           
 int hashCode()
           
 boolean morePrecise(AnalysisPolicy ap2)
          Checks whether this analysis policy is more precise than ap2, i.e., that each of the three precision parameters are better.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

flowSensitivity

public final boolean flowSensitivity
Selects flow sensitivity: if on, the analysis will compute one distinct set of inside edges for each program point; o.w., the analysis will compute one set of inside edges per method.


staticCallDepth

public final int staticCallDepth
Lower bound of the static call depth. When analyzing method m, any method that is not transitively called in at most "static call depth" steps is considered un-analyzable. -1 indicates infinite call depth: analyze all callees.


fpMaxIter

public final int fpMaxIter
Maximum numbers of iterations in each inter-proc. fixed-point equations, i.e., how many times a method may be re-examined before the fixed-point computations gives up and considers that all calls to that method are unanalyzable. -1 indicates an infinite number of iterations, i.e., the most precise fixed-point.

Constructor Detail

AnalysisPolicy

public AnalysisPolicy(boolean flowSensitivity,
                      int staticCallDepth,
                      int fpMaxIter)
Method Detail

morePrecise

public boolean morePrecise(AnalysisPolicy ap2)
Checks whether this analysis policy is more precise than ap2, i.e., that each of the three precision parameters are better.


toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object o)
Overrides:
equals in class Object