com.ibm.wala.demandpa.alg
Class DemandRefinementPointsTo.PointsToComputer

java.lang.Object
  extended by com.ibm.wala.demandpa.alg.DemandRefinementPointsTo.PointsToComputer
Enclosing class:
DemandRefinementPointsTo

protected class DemandRefinementPointsTo.PointsToComputer
extends java.lang.Object

Points-to analysis algorithm code. Pseudocode in Chapter 5 of Manu Sridharan's dissertation.


Field Summary
protected  OrdinalSetMapping<InstanceKeyAndState> ikAndStates
          for numbering InstanceKey, StateMachine.State pairs
protected  java.util.Map<PointerKeyAndState,MutableIntSet> pkToTrackedSet
           
protected  PointerKeyAndState queriedPkAndState
           
 
Constructor Summary
protected DemandRefinementPointsTo.PointsToComputer(PointerKey pk)
           
 
Method Summary
protected  void addToTrackedPToWorklist(PointerKeyAndState pkAndState)
           
protected  void compute()
           
protected
<K> MutableIntSet
findOrCreate(java.util.Map<K,MutableIntSet> M, K key)
           
 java.util.Collection<InstanceKey> getP2Set(LocalPointerKey queriedPk)
           
 void handleTrackedPointsToWorklist()
           
 void makePassOverFieldStmts()
           
protected  void worklistLoop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queriedPkAndState

protected final PointerKeyAndState queriedPkAndState

pkToTrackedSet

protected final java.util.Map<PointerKeyAndState,MutableIntSet> pkToTrackedSet

ikAndStates

protected final OrdinalSetMapping<InstanceKeyAndState> ikAndStates
for numbering InstanceKey, StateMachine.State pairs

Constructor Detail

DemandRefinementPointsTo.PointsToComputer

protected DemandRefinementPointsTo.PointsToComputer(PointerKey pk)
Method Detail

getP2Set

public java.util.Collection<InstanceKey> getP2Set(LocalPointerKey queriedPk)

compute

protected void compute()

worklistLoop

protected void worklistLoop()

addToTrackedPToWorklist

protected void addToTrackedPToWorklist(PointerKeyAndState pkAndState)

handleTrackedPointsToWorklist

public void handleTrackedPointsToWorklist()

makePassOverFieldStmts

public void makePassOverFieldStmts()

findOrCreate

protected <K> MutableIntSet findOrCreate(java.util.Map<K,MutableIntSet> M,
                                         K key)