com.ibm.wala.demandpa.alg
Class AbstractDemandPointsTo

java.lang.Object
  extended by com.ibm.wala.demandpa.alg.AbstractDemandPointsTo
All Implemented Interfaces:
IDemandPointerAnalysis
Direct Known Subclasses:
DemandRefinementPointsTo, SimpleDemandPointsTo, TestNewGraphPointsTo

public abstract class AbstractDemandPointsTo
extends java.lang.Object
implements IDemandPointerAnalysis

Abstract super class for demand points-to analysis. Implements basic methods for tracking how much traversal has been done.


Field Summary
protected  CallGraph cg
           
protected  ClassHierarchy cha
           
protected  MemoryAccessMap fam
           
protected  HeapModel heapModel
           
protected  int numNodesTraversed
           
protected  AnalysisOptions options
           
 
Constructor Summary
AbstractDemandPointsTo(CallGraph cg, HeapModel model, MemoryAccessMap fam, ClassHierarchy cha, AnalysisOptions options)
           
 
Method Summary
 CallGraph getBaseCallGraph()
           
 ClassHierarchy getClassHierarchy()
           
 HeapModel getHeapModel()
           
 int getNumNodesTraversed()
           
 int getTraversalBudget()
           
protected  void incrementNumNodesTraversed()
           
protected  void setNumNodesTraversed(int traversed)
           
protected  void setTraversalBudget(int traversalBudget)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.wala.demandpa.alg.IDemandPointerAnalysis
getPointsTo
 

Field Detail

cg

protected final CallGraph cg

heapModel

protected final HeapModel heapModel

fam

protected final MemoryAccessMap fam

cha

protected final ClassHierarchy cha

options

protected final AnalysisOptions options

numNodesTraversed

protected int numNodesTraversed
Constructor Detail

AbstractDemandPointsTo

public AbstractDemandPointsTo(CallGraph cg,
                              HeapModel model,
                              MemoryAccessMap fam,
                              ClassHierarchy cha,
                              AnalysisOptions options)
Method Detail

getTraversalBudget

public int getTraversalBudget()

setTraversalBudget

protected void setTraversalBudget(int traversalBudget)

getHeapModel

public HeapModel getHeapModel()
Specified by:
getHeapModel in interface IDemandPointerAnalysis

incrementNumNodesTraversed

protected void incrementNumNodesTraversed()

setNumNodesTraversed

protected void setNumNodesTraversed(int traversed)

getNumNodesTraversed

public int getNumNodesTraversed()

getBaseCallGraph

public CallGraph getBaseCallGraph()
Specified by:
getBaseCallGraph in interface IDemandPointerAnalysis

getClassHierarchy

public ClassHierarchy getClassHierarchy()
Specified by:
getClassHierarchy in interface IDemandPointerAnalysis