soot.jimple.spark.solver
Class PropAlias

java.lang.Object
  |
  +--soot.jimple.spark.solver.Propagator
        |
        +--soot.jimple.spark.solver.PropAlias

public final class PropAlias
extends Propagator

Propagates points-to sets along pointer assignment graph using a relevant aliases.


Field Summary
protected  MultiMap aliasEdges
           
protected  java.util.Set aliasWorkList
           
protected  java.util.Set fieldRefWorkList
           
protected  MultiMap fieldToBase
           
protected  LargeNumberedMap loadSets
           
protected  OnFlyCallGraph ofcg
           
protected  java.util.Set outFieldRefWorkList
           
protected  PAG pag
           
protected  java.util.Set varNodeWorkList
           
 
Constructor Summary
PropAlias(PAG pag)
           
 
Method Summary
protected  PointsToSetInternal getP2Set(FieldRefNode n)
           
protected  boolean handleAllocNode(AllocNode src)
          Propagates new points-to information of node src to all its successors.
protected  boolean handleVarNode(VarNode src)
          Propagates new points-to information of node src to all its successors.
protected  PointsToSetInternal makeP2Set(FieldRefNode n)
           
 void propagate()
          Actually does the propagation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

varNodeWorkList

protected final java.util.Set varNodeWorkList

aliasWorkList

protected java.util.Set aliasWorkList

fieldRefWorkList

protected java.util.Set fieldRefWorkList

outFieldRefWorkList

protected java.util.Set outFieldRefWorkList

pag

protected PAG pag

fieldToBase

protected MultiMap fieldToBase

aliasEdges

protected MultiMap aliasEdges

loadSets

protected LargeNumberedMap loadSets

ofcg

protected OnFlyCallGraph ofcg
Constructor Detail

PropAlias

public PropAlias(PAG pag)
Method Detail

propagate

public final void propagate()
Actually does the propagation.
Overrides:
propagate in class Propagator

handleAllocNode

protected final boolean handleAllocNode(AllocNode src)
Propagates new points-to information of node src to all its successors.

handleVarNode

protected final boolean handleVarNode(VarNode src)
Propagates new points-to information of node src to all its successors.

makeP2Set

protected final PointsToSetInternal makeP2Set(FieldRefNode n)

getP2Set

protected final PointsToSetInternal getP2Set(FieldRefNode n)