Class StrayRWFinder
- java.lang.Object
-
- soot.toolkits.scalar.AbstractFlowAnalysis<N,A>
-
- soot.toolkits.scalar.FlowAnalysis<N,A>
-
- soot.toolkits.scalar.BackwardFlowAnalysis
-
- soot.jimple.toolkits.thread.synchronization.StrayRWFinder
-
public class StrayRWFinder extends BackwardFlowAnalysis
- Author:
- Richard L. Halpert StrayRWFinder - Analysis to locate reads/writes to shared data that appear outside synchronization
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class soot.toolkits.scalar.FlowAnalysis
FlowAnalysis.Flow
-
-
Field Summary
-
Fields inherited from class soot.toolkits.scalar.FlowAnalysis
filterUnitToAfterFlow, unitToAfterFlow
-
Fields inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
filterUnitToBeforeFlow, graph, unitToBeforeFlow
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcopy(Object source, Object dest)Creates a copy of thesourceflow object indest.protected ObjectentryInitialFlow()IN(Start) is the empty setprotected voidflowThrough(Object inValue, Object unit, Object outValue)OUT is the same as (IN minus killSet) plus the genSet.protected voidmerge(Object in1, Object in2, Object out)union, except for transactions in progress.protected ObjectnewInitialFlow()All INs are initialized to the empty set.-
Methods inherited from class soot.toolkits.scalar.BackwardFlowAnalysis
doAnalysis, isForward
-
Methods inherited from class soot.toolkits.scalar.FlowAnalysis
copyFreshToExisting, getFlow, getFlowAfter, getFlowBefore, omissible
-
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
merge, mergeInto, treatTrapHandlersAsEntries
-
-
-
-
Method Detail
-
newInitialFlow
protected Object newInitialFlow()
All INs are initialized to the empty set.- Specified by:
newInitialFlowin classAbstractFlowAnalysis
-
entryInitialFlow
protected Object entryInitialFlow()
IN(Start) is the empty set- Overrides:
entryInitialFlowin classAbstractFlowAnalysis
-
flowThrough
protected void flowThrough(Object inValue, Object unit, Object outValue)
OUT is the same as (IN minus killSet) plus the genSet.- Specified by:
flowThroughin classFlowAnalysis- Parameters:
inValue- the input flowunit- the current nodeoutValue- the returned flow
-
merge
protected void merge(Object in1, Object in2, Object out)
union, except for transactions in progress. They get joined- Specified by:
mergein classAbstractFlowAnalysis
-
copy
protected void copy(Object source, Object dest)
Description copied from class:AbstractFlowAnalysisCreates a copy of thesourceflow object indest.- Specified by:
copyin classAbstractFlowAnalysis
-
-