|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.toolkits.scalar.FlowAnalysis | +--soot.toolkits.scalar.BackwardFlowAnalysis | +--soot.jimple.toolkits.scalar.pre.NotIsolatedAnalysis
Performs a Not-Isolated-analysis on the given graph, which is basicly the
same as an Isolated-analysis (we just return the complement, as it's easier
to calculate it).
A computation is isolated, if it can only be used at the current
computation-point. In other words: if the result of the computation will not
be used later on the computation is isolated.
The Latest-analysis helps us in finding isolated computations, as they
show us points, where a precedent computation can't be used anymore.
In completely other words: we search the interval "latest"-"computation". a
computation in this interval would not be isolated.
Fields inherited from class soot.toolkits.scalar.FlowAnalysis |
graph,
unitToAfterFlow,
unitToBeforeFlow |
Constructor Summary | |
NotIsolatedAnalysis(DirectedGraph dg)
this constructor should not be used, and will throw a runtime-exception! |
|
NotIsolatedAnalysis(DirectedGraph dg,
LatestComputation latest,
java.util.Map equivRhsMap)
automaticly performs the Isolation-analysis on the graph dg using the Latest-computation latest .the equivRhsMap is only here to avoid doing these things
again... |
|
NotIsolatedAnalysis(DirectedGraph dg,
LatestComputation latest,
java.util.Map equivRhsMap,
BoundedFlowSet set)
automaticly performs the Isolation-analysis on the graph dg using the Latest-computation latest .the equivRhsMap is only here to avoid doing these things
again...the shared set allows more efficient set-operations, when this analysis is joined with other analyses/computations. |
Method Summary | |
protected void |
copy(java.lang.Object source,
java.lang.Object dest)
Creates a copy of the source flow object in dest . |
protected void |
flowThrough(java.lang.Object inValue,
java.lang.Object unit,
java.lang.Object outValue)
Given the merge of the out sets, compute the in set for s . |
protected void |
merge(java.lang.Object in1,
java.lang.Object in2,
java.lang.Object out)
Compute the merge of the in1 and in2 sets, putting the result into out . |
protected java.lang.Object |
newInitialFlow()
Returns the flow object corresponding to the initial values for each graph node. |
Methods inherited from class soot.toolkits.scalar.BackwardFlowAnalysis |
doAnalysis,
isForward |
Methods inherited from class soot.toolkits.scalar.FlowAnalysis |
customizeInitialFlowGraph,
entryInitialFlow,
getFlowAfter,
getFlowBefore |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public NotIsolatedAnalysis(DirectedGraph dg)
public NotIsolatedAnalysis(DirectedGraph dg, LatestComputation latest, java.util.Map equivRhsMap)
dg
using the Latest-computation latest
.equivRhsMap
is only here to avoid doing these things
again...dg
- a CompleteUnitGraphlatest
- the latest-computation of the same graph.equivRhsMap
- the rhs of each unit (if assignment-stmt).public NotIsolatedAnalysis(DirectedGraph dg, LatestComputation latest, java.util.Map equivRhsMap, BoundedFlowSet set)
dg
using the Latest-computation latest
.equivRhsMap
is only here to avoid doing these things
again...dg
- a CompleteUnitGraphlatest
- the latest-computation of the same graph.equivRhsMap
- the rhs of each unit (if assignment-stmt).set
- the shared set.Method Detail |
protected java.lang.Object newInitialFlow()
protected void flowThrough(java.lang.Object inValue, java.lang.Object unit, java.lang.Object outValue)
out
sets, compute the in
set for s
.protected void merge(java.lang.Object in1, java.lang.Object in2, java.lang.Object out)
in1
and in2
sets, putting the result into out
.
The behavior of this function depends on the implementation ( it may be necessary to check whether
in1
and in2
are equal or aliased ).
Used by the doAnalysis method.protected void copy(java.lang.Object source, java.lang.Object dest)
source
flow object in dest
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |