|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsoot.toolkits.scalar.AbstractFlowAnalysis
soot.toolkits.scalar.FlowAnalysis
An abstract class providing a framework for carrying out dataflow analysis. Subclassing either BackwardFlowAnalysis or ForwardFlowAnalysis and providing implementations for the abstract methods will allow Soot to compute the corresponding flow analysis.
Field Summary | |
protected Map |
filterUnitToAfterFlow
Filtered: Maps graph nodes to OUT sets. |
protected Map |
unitToAfterFlow
Maps graph nodes to OUT sets. |
Fields inherited from class soot.toolkits.scalar.AbstractFlowAnalysis |
filterUnitToBeforeFlow, graph, unitToBeforeFlow |
Constructor Summary | |
FlowAnalysis(DirectedGraph graph)
Constructs a flow analysis on the given DirectedGraph . |
Method Summary | |
protected Orderer |
constructOrderer()
Default implementation constructing a PseudoTopologicalOrderer. |
protected abstract void |
flowThrough(Object in,
Object d,
Object out)
Given the merge of the out sets, compute the in set for s (or in to out, depending on direction). |
Object |
getFlowAfter(Object s)
Accessor function returning value of OUT set for s. |
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis |
copy, customizeInitialFlowGraph, doAnalysis, entryInitialFlow, getFlowBefore, isForward, merge, merge, newInitialFlow, treatTrapHandlersAsEntries |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Map unitToAfterFlow
protected Map filterUnitToAfterFlow
Constructor Detail |
public FlowAnalysis(DirectedGraph graph)
DirectedGraph
.
Method Detail |
protected abstract void flowThrough(Object in, Object d, Object out)
out
sets, compute the in
set for s
(or in to out, depending on direction).
This function often causes confusion, because the same interface
is used for both forward and backward flow analyses. The first
parameter is always the argument to the flow function (i.e. it
is the "in" set in a forward analysis and the "out" set in a
backward analysis), and the third parameter is always the result
of the flow function (i.e. it is the "out" set in a forward
analysis and the "in" set in a backward analysis).
public Object getFlowAfter(Object s)
protected Orderer constructOrderer()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |