Package | Description |
---|---|
soot.jimple.toolkits.annotation.nullcheck |
Classes that carry out an analysis to determine whether or not null pointer
checks are necessary.
|
soot.jimple.toolkits.infoflow | |
soot.jimple.toolkits.scalar |
A toolkit for scalar optimization of Jimple.
|
soot.jimple.toolkits.scalar.pre |
Particial redundency elimination.
|
soot.jimple.toolkits.thread.synchronization |
Modifier and Type | Field and Description |
---|---|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeInstFieldBases
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeInstFieldBases
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeInstFields
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeInstFields
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeLocals
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeLocals
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeStaticFields
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeStaticFields
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeValues
Deprecated.
|
protected List<EquivalentValue> |
BranchedRefVarsAnalysis.refTypeValues
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
EquivalentValue |
BranchedRefVarsAnalysis.getEquivalentValue(Value v)
Deprecated.
|
EquivalentValue |
BranchedRefVarsAnalysis.getEquivalentValue(Value v)
Deprecated.
|
EquivalentValue |
RefIntPair.ref()
Deprecated.
|
EquivalentValue |
RefIntPair.ref()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
RefIntPair |
BranchedRefVarsAnalysis.getKRefIntPair(EquivalentValue r,
int v)
Deprecated.
|
RefIntPair |
BranchedRefVarsAnalysis.getKRefIntPair(EquivalentValue r,
int v)
Deprecated.
|
protected int |
BranchedRefVarsAnalysis.refInfo(EquivalentValue r,
FlowSet fs)
Deprecated.
|
protected int |
BranchedRefVarsAnalysis.refInfo(EquivalentValue r,
FlowSet fs)
Deprecated.
|
Modifier and Type | Class and Description |
---|---|
class |
CachedEquivalentValue
An
EquivalentValue with cached hash code and equals-relation. |
Modifier and Type | Method and Description |
---|---|
static EquivalentValue |
InfoFlowAnalysis.getNodeForFieldRef(SootMethod sm,
SootField sf)
Returns an unmodifiable list of EquivalentValue wrapped Refs that sink
flows from when method sm is called.
|
static EquivalentValue |
InfoFlowAnalysis.getNodeForFieldRef(SootMethod sm,
SootField sf)
Returns an unmodifiable list of EquivalentValue wrapped Refs that sink
flows from when method sm is called.
|
static EquivalentValue |
InfoFlowAnalysis.getNodeForFieldRef(SootMethod sm,
SootField sf,
Local realLocal) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForFieldRef(SootMethod sm,
SootField sf,
Local realLocal) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForParameterRef(SootMethod sm,
int i) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForParameterRef(SootMethod sm,
int i) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForReturnRef(SootMethod sm) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForReturnRef(SootMethod sm) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForThisRef(SootMethod sm) |
static EquivalentValue |
InfoFlowAnalysis.getNodeForThisRef(SootMethod sm) |
Modifier and Type | Method and Description |
---|---|
boolean |
CallLocalityContext.containsField(EquivalentValue fieldRef) |
boolean |
CallLocalityContext.containsField(EquivalentValue fieldRef) |
boolean |
CallLocalityContext.isFieldLocal(EquivalentValue fieldRef) |
protected boolean |
ClassLocalObjectsAnalysis.isFieldLocal(EquivalentValue fieldRef) |
boolean |
CallLocalityContext.isFieldLocal(EquivalentValue fieldRef) |
protected boolean |
ClassLocalObjectsAnalysis.isFieldLocal(EquivalentValue fieldRef) |
boolean |
ClassLocalObjectsAnalysis.parameterIsLocal(SootMethod method,
EquivalentValue parameterRef) |
boolean |
ClassLocalObjectsAnalysis.parameterIsLocal(SootMethod method,
EquivalentValue parameterRef) |
protected boolean |
ClassLocalObjectsAnalysis.parameterIsLocal(SootMethod method,
EquivalentValue parameterRef,
boolean includePrimitiveDataFlowIfAvailable) |
protected boolean |
ClassLocalObjectsAnalysis.parameterIsLocal(SootMethod method,
EquivalentValue parameterRef,
boolean includePrimitiveDataFlowIfAvailable) |
void |
CallLocalityContext.setFieldLocal(EquivalentValue fieldRef) |
void |
CallLocalityContext.setFieldLocal(EquivalentValue fieldRef) |
void |
CallLocalityContext.setFieldShared(EquivalentValue fieldRef) |
void |
CallLocalityContext.setFieldShared(EquivalentValue fieldRef) |
List<EquivalentValue> |
SmartMethodInfoFlowAnalysis.sinksOf(EquivalentValue node) |
List<EquivalentValue> |
SmartMethodInfoFlowAnalysis.sinksOf(EquivalentValue node) |
List<EquivalentValue> |
SmartMethodInfoFlowAnalysis.sourcesOf(EquivalentValue node) |
List<EquivalentValue> |
SmartMethodInfoFlowAnalysis.sourcesOf(EquivalentValue node) |
protected boolean |
ClassLocalObjectsAnalysis.thisIsLocal(SootMethod method,
EquivalentValue thisRef) |
protected boolean |
ClassLocalObjectsAnalysis.thisIsLocal(SootMethod method,
EquivalentValue thisRef) |
Constructor and Description |
---|
CallLocalityContext(List<EquivalentValue> nodes) |
CallLocalityContext(List<EquivalentValue> nodes) |
Modifier and Type | Method and Description |
---|---|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available after u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsAfter(Unit u)
Returns a List containing the UnitValueBox pairs corresponding to expressions available after u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
SlowAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Chain<EquivalentValue> |
FastAvailableExpressions.getAvailableEquivsBefore(Unit u)
Returns a Chain containing the EquivalentValue objects corresponding to expressions available before u.
|
Modifier and Type | Method and Description |
---|---|
static EquivalentValue |
SootFilter.equiVal(Value val)
wraps a value into a EquivalentValue.
|
static EquivalentValue |
SootFilter.equiVal(Value val)
wraps a value into a EquivalentValue.
|
Modifier and Type | Method and Description |
---|---|
protected FlowSet<EquivalentValue> |
DelayabilityAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
DownSafetyAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
NotIsolatedAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
UpSafetyAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
NotIsolatedAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
DownSafetyAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
DelayabilityAnalysis.entryInitialFlow() |
protected FlowSet<EquivalentValue> |
UpSafetyAnalysis.entryInitialFlow() |
FlowSet<EquivalentValue> |
EarliestnessComputation.getFlowBefore(Object node)
returns the FlowSet of expressions, that have their earliest computation
just before
node . |
FlowSet<EquivalentValue> |
LatestComputation.getFlowBefore(Object node)
returns the set of expressions, that have their latest computation just
before
node . |
FlowSet<EquivalentValue> |
LatestComputation.getFlowBefore(Object node)
returns the set of expressions, that have their latest computation just
before
node . |
FlowSet<EquivalentValue> |
EarliestnessComputation.getFlowBefore(Object node)
returns the FlowSet of expressions, that have their earliest computation
just before
node . |
protected FlowSet<EquivalentValue> |
DelayabilityAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
DownSafetyAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
NotIsolatedAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
UpSafetyAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
NotIsolatedAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
DownSafetyAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
DelayabilityAnalysis.newInitialFlow() |
protected FlowSet<EquivalentValue> |
UpSafetyAnalysis.newInitialFlow() |
Modifier and Type | Method and Description |
---|---|
protected void |
DelayabilityAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
DelayabilityAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
DownSafetyAnalysis.copy(FlowSet<EquivalentValue> source,
FlowSet<EquivalentValue> dest) |
protected void |
DownSafetyAnalysis.copy(FlowSet<EquivalentValue> source,
FlowSet<EquivalentValue> dest) |
protected void |
NotIsolatedAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
NotIsolatedAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
UpSafetyAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
UpSafetyAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
NotIsolatedAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
NotIsolatedAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
DownSafetyAnalysis.copy(FlowSet<EquivalentValue> source,
FlowSet<EquivalentValue> dest) |
protected void |
DownSafetyAnalysis.copy(FlowSet<EquivalentValue> source,
FlowSet<EquivalentValue> dest) |
protected void |
DelayabilityAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
DelayabilityAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
UpSafetyAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
UpSafetyAnalysis.copy(FlowSet<EquivalentValue> sourceSet,
FlowSet<EquivalentValue> destSet) |
protected void |
DelayabilityAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DelayabilityAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
NotIsolatedAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit unit,
FlowSet<EquivalentValue> out) |
protected void |
NotIsolatedAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit unit,
FlowSet<EquivalentValue> out) |
protected void |
UpSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
UpSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
NotIsolatedAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit unit,
FlowSet<EquivalentValue> out) |
protected void |
NotIsolatedAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit unit,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DelayabilityAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DelayabilityAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
UpSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
UpSafetyAnalysis.flowThrough(FlowSet<EquivalentValue> in,
Unit u,
FlowSet<EquivalentValue> out) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
NotIsolatedAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
DownSafetyAnalysis.merge(FlowSet<EquivalentValue> in1,
FlowSet<EquivalentValue> in2,
FlowSet<EquivalentValue> out) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
DelayabilityAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
protected void |
UpSafetyAnalysis.merge(FlowSet<EquivalentValue> inSet1,
FlowSet<EquivalentValue> inSet2,
FlowSet<EquivalentValue> outSet) |
Constructor and Description |
---|
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again... |
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again... |
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again...as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined. |
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again...as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined. |
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again...as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined. |
DelayabilityAnalysis(DirectedGraph<Unit> dg,
EarliestnessComputation earliest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically performs the Delayability-analysis on the graph
dg and the Earliest-computation earliest .the equivRhsMap is only here to avoid doing these things
again...as set-operations are usually more efficient, if the sets come from one source, sets should be shared around analyses, if the analyses are to be combined. |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets. |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets. |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets. |
DownSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). as sets-operations are usually more efficient, if the original set comes from the same source, this allows to share sets. |
EarliestnessComputation(UnitGraph unitGraph,
UpSafetyAnalysis upSafe,
DownSafetyAnalysis downSafe,
SideEffectTester sideEffect,
FlowSet<EquivalentValue> set)
given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the
earliest-computation.
allows to share sets over multiple analyses (set-operations are usually more efficient, if the sets come from the same source). |
EarliestnessComputation(UnitGraph unitGraph,
UpSafetyAnalysis upSafe,
DownSafetyAnalysis downSafe,
SideEffectTester sideEffect,
FlowSet<EquivalentValue> set)
given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the
earliest-computation.
allows to share sets over multiple analyses (set-operations are usually more efficient, if the sets come from the same source). |
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
|
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
|
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
the equivRhsMap could be calculated on the fly, but it is
very likely that it already exists (as similar maps are used for
calculating Earliestness, Delayed,...the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations. |
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
the equivRhsMap could be calculated on the fly, but it is
very likely that it already exists (as similar maps are used for
calculating Earliestness, Delayed,...the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations. |
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
the equivRhsMap could be calculated on the fly, but it is
very likely that it already exists (as similar maps are used for
calculating Earliestness, Delayed,...the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations. |
LatestComputation(UnitGraph unitGraph,
DelayabilityAnalysis delayed,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
given a DelayabilityAnalysis and the computations of each unit,
calculates the latest computation-point for each expression.
the equivRhsMap could be calculated on the fly, but it is
very likely that it already exists (as similar maps are used for
calculating Earliestness, Delayed,...the shared set allows more efficient set-operations, when they the computation is merged with other analyses/computations. |
NotIsolatedAnalysis(DirectedGraph<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap)
Automatically 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<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap)
Automatically 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<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically 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. |
NotIsolatedAnalysis(DirectedGraph<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically 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. |
NotIsolatedAnalysis(DirectedGraph<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically 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. |
NotIsolatedAnalysis(DirectedGraph<Unit> dg,
LatestComputation latest,
Map<Unit,EquivalentValue> equivRhsMap,
BoundedFlowSet<EquivalentValue> set)
Automatically 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. |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses. |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses. |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses. |
UpSafetyAnalysis(DirectedGraph<Unit> dg,
Map<Unit,EquivalentValue> unitToGen,
SideEffectTester sideEffect,
BoundedFlowSet<EquivalentValue> set)
This constructor automatically performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()). As usually flowset-operations are more efficient if shared, this allows to share sets over several analyses. |
Modifier and Type | Method and Description |
---|---|
EquivalentValue |
LockableReferenceAnalysis.baseFor(Ref ref) |
EquivalentValue |
LockableReferenceAnalysis.baseFor(Ref ref) |
EquivalentValue |
LockableReferenceAnalysis.indexFor(Ref ref) |
EquivalentValue |
LockableReferenceAnalysis.indexFor(Ref ref) |
Modifier and Type | Method and Description |
---|---|
List<EquivalentValue> |
LockableReferenceAnalysis.getLocksetOf(CriticalSectionAwareSideEffectAnalysis tasea,
RWSet contributingRWSet,
soot.jimple.toolkits.thread.synchronization.CriticalSection tn) |
List<EquivalentValue> |
LockableReferenceAnalysis.getLocksetOf(CriticalSectionAwareSideEffectAnalysis tasea,
RWSet contributingRWSet,
soot.jimple.toolkits.thread.synchronization.CriticalSection tn) |
Modifier and Type | Method and Description |
---|---|
static Value |
LockAllocationBodyTransformer.getLockFor(EquivalentValue lockEqVal) |
static Value |
LockAllocationBodyTransformer.getLockFor(EquivalentValue lockEqVal) |
Modifier and Type | Method and Description |
---|---|
static String |
LockAllocator.locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum) |
static String |
LockAllocator.locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum) |