| Modifier and Type | Class and Description |
|---|---|
class |
SimpleExceptionalGraph |
| Modifier and Type | Field and Description |
|---|---|
protected UnitGraph |
Loop.g |
| Modifier and Type | Method and Description |
|---|---|
Set<Loop> |
LoopFinder.getLoops(UnitGraph g) |
| Modifier and Type | Method and Description |
|---|---|
NullnessAnalysis |
NullCheckEliminator.AnalysisFactory.newAnalysis(UnitGraph g) |
| Constructor and Description |
|---|
BranchedRefVarsAnalysis(UnitGraph g)
Deprecated.
THIS IS KNOWN TO BE BUGGY. USE
NullnessAnalysis INSTEAD! |
NullnessAnalysis(UnitGraph graph)
Creates a new analysis for the given graph/
|
NullnessAssumptionAnalysis(UnitGraph graph)
Creates a new analysis for the given graph/
|
| Constructor and Description |
|---|
ParityAnalysis(UnitGraph g) |
ParityAnalysis(UnitGraph g,
LiveLocals filter) |
| Constructor and Description |
|---|
ClinitElimAnalysis(UnitGraph g) |
| Constructor and Description |
|---|
SimpleMethodInfoFlowAnalysis(UnitGraph g,
InfoFlowAnalysis dfa,
boolean ignoreNonRefTypeFlow) |
SimpleMethodInfoFlowAnalysis(UnitGraph g,
InfoFlowAnalysis dfa,
boolean ignoreNonRefTypeFlow,
boolean dummyDontRunAnalysisYet)
A constructor that doesn't run the analysis
|
SimpleMethodLocalObjectsAnalysis(UnitGraph g,
CallLocalityContext context,
InfoFlowAnalysis dfa) |
SimpleMethodLocalObjectsAnalysis(UnitGraph g,
ClassLocalObjectsAnalysis cloa,
InfoFlowAnalysis dfa) |
SmartMethodInfoFlowAnalysis(UnitGraph g,
InfoFlowAnalysis dfa) |
SmartMethodLocalObjectsAnalysis(UnitGraph g,
InfoFlowAnalysis dfa) |
| Constructor and Description |
|---|
LocalMayAliasAnalysis(UnitGraph graph) |
LocalMustAliasAnalysis(UnitGraph g)
Creates a new
LocalMustAliasAnalysis tracking local variables. |
LocalMustAliasAnalysis(UnitGraph g,
boolean tryTrackFieldAssignments)
Creates a new
LocalMustAliasAnalysis. |
LocalMustNotAliasAnalysis(UnitGraph g) |
StrongLocalMustAliasAnalysis(UnitGraph g) |
| Constructor and Description |
|---|
CommonPrecedingEqualValueAnalysis(UnitGraph g) |
EqualLocalsAnalysis(UnitGraph g) |
EqualUsesAnalysis(UnitGraph g)
Deprecated.
|
| Constructor and Description |
|---|
EarliestnessComputation(UnitGraph unitGraph,
UpSafetyAnalysis upSafe,
DownSafetyAnalysis downSafe,
SideEffectTester sideEffect)
given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the earliest-computation.
|
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,
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. |
| Constructor and Description |
|---|
EncapsulatedMethodAnalysis(UnitGraph g) |
| Constructor and Description |
|---|
StartJoinAnalysis(UnitGraph g,
SootMethod sm,
CallGraph callGraph,
PAG pag) |
| Constructor and Description |
|---|
MultiRunStatementsFinder(UnitGraph g,
SootMethod sm,
Set<SootMethod> multiCalledMethods,
CallGraph cg) |
| Modifier and Type | Field and Description |
|---|---|
protected UnitGraph |
JPegStmt.unitGraph |
| Modifier and Type | Method and Description |
|---|---|
UnitGraph |
JPegStmt.getUnitGraph() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
JPegStmt.setUnitGraph(UnitGraph ug) |
| Constructor and Description |
|---|
LockableReferenceAnalysis(UnitGraph g) |
| Modifier and Type | Field and Description |
|---|---|
protected UnitGraph |
DefaultShimpleFactory.ug |
| Modifier and Type | Method and Description |
|---|---|
UnitGraph |
ShimpleFactory.getUnitGraph() |
UnitGraph |
DefaultShimpleFactory.getUnitGraph() |
| Modifier and Type | Method and Description |
|---|---|
Set<Unit> |
TrapTransformer.getUnitsWithMonitor(UnitGraph ug) |
| Modifier and Type | Class and Description |
|---|---|
class |
BriefUnitGraph
Represents a CFG where the nodes are Unit instances, and where no edges are included to account for control flow
associated with exceptions.
|
class |
ClassicCompleteUnitGraph
Represents a CFG for a Body instance where the nodes are
Unit instances, and where edges are a conservative
indication of unexceptional and exceptional control flow. |
class |
CompleteUnitGraph
|
class |
ExceptionalUnitGraph
|
class |
TrapUnitGraph
|
| Modifier and Type | Method and Description |
|---|---|
protected Map<Unit,Block> |
BlockGraph.buildBlocks(Set<Unit> leaders,
UnitGraph unitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been
determined, and which designates the heads and tails of the graph.
|
protected Map<Unit,Block> |
ExceptionalBlockGraph.buildBlocks(Set<Unit> leaders,
UnitGraph uncastUnitGraph)
A utility method that does most of the work of constructing basic blocks, once the set of block leaders has been
determined, and which designates the heads and tails of the graph.
|
protected Set<Unit> |
BlockGraph.computeLeaders(UnitGraph unitGraph)
|
protected Set<Unit> |
ArrayRefBlockGraph.computeLeaders(UnitGraph unitGraph)
|
protected Set<Unit> |
ZonedBlockGraph.computeLeaders(UnitGraph unitGraph)
|
| Constructor and Description |
|---|
BlockGraph(UnitGraph unitGraph)
Create a
BlockGraph representing at the basic block level the control flow specified, at the
Unit level, by a given UnitGraph. |
DominatorAnalysis(UnitGraph g)
Deprecated.
|
PostDominatorAnalysis(UnitGraph g)
Deprecated.
|
| Modifier and Type | Class and Description |
|---|---|
class |
EnhancedUnitGraph
This class represents a control flow graph which behaves like an ExceptionalUnitGraph and BriefUnitGraph when there are no
exception handling construct in the method; at the presence of such constructs, the CFG is constructed from a brief graph
by adding a concise representation of the exceptional flow as well as START/STOP auxiliary nodes.
|
| Modifier and Type | Field and Description |
|---|---|
protected UnitGraph |
HashMutablePDG.m_cfg |
protected UnitGraph |
RegionAnalysis.m_cfg |
protected UnitGraph |
RegionAnalysis.m_reverseCFG |
| Modifier and Type | Method and Description |
|---|---|
UnitGraph |
HashMutablePDG.getCFG() |
UnitGraph |
Region.getUnitGraph() |
UnitGraph |
PDGRegion.getUnitGraph() |
UnitGraph |
IRegion.getUnitGraph() |
| Constructor and Description |
|---|
HashMutablePDG(UnitGraph cfg) |
PDGRegion(int id,
List<PDGNode> nodes,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
PDGRegion(int id,
SootMethod m,
SootClass c,
UnitGraph ug,
PDGNode node) |
Region(int id,
List<Block> blocks,
SootMethod m,
SootClass c,
UnitGraph ug) |
Region(int id,
SootMethod m,
SootClass c,
UnitGraph ug) |
RegionAnalysis(UnitGraph cfg,
SootMethod m,
SootClass c) |
| Modifier and Type | Method and Description |
|---|---|
UnitGraph |
SmartLocalDefs.getGraph()
Returns the associated unit graph.
|
| Modifier and Type | Method and Description |
|---|---|
static LiveLocals |
LiveLocals.Factory.newLiveLocals(UnitGraph graph) |
static LocalDefs |
LocalDefs.Factory.newLocalDefs(UnitGraph graph)
Creates a new LocalDefs analysis based on a given
UnitGraph |
static LocalDefs |
LocalDefs.Factory.newLocalDefs(UnitGraph graph,
boolean expectUndefined)
Creates a new LocalDefs analysis based on a given
UnitGraph. |
static LocalDefs |
LocalDefs.Factory.newLocalDefsFlowInsensitive(UnitGraph graph)
Creates a new LocalDefs analysis based on a given
UnitGraph. |
static LocalUses |
LocalUses.Factory.newLocalUses(UnitGraph graph) |
static LocalUses |
LocalUses.Factory.newLocalUses(UnitGraph graph,
LocalDefs localDefs) |
| Constructor and Description |
|---|
CombinedDUAnalysis(UnitGraph graph) |
ForwardBranchedFlowAnalysis(UnitGraph graph) |
GuaranteedDefs(UnitGraph graph) |
InitAnalysis(UnitGraph g) |
SimpleLiveLocals(UnitGraph graph)
Computes the analysis given a UnitGraph computed from a method body.
|
SimpleLocalDefs(UnitGraph graph) |
SimpleLocalDefs(UnitGraph graph,
soot.toolkits.scalar.SimpleLocalDefs.FlowAnalysisMode mode) |
SimpleLocalUses(UnitGraph graph,
LocalDefs localDefs)
Construct the analysis from a UnitGraph representation of a method body and a LocalDefs interface.
|
SmartLocalDefs(UnitGraph g,
LiveLocals live) |
| Constructor and Description |
|---|
UnitMap(UnitGraph g)
maps each unit of the graph to the result of
mapTo.before the mapping the method init is called.the internal hashtable is initialized without any parameter. |
UnitMap(UnitGraph g,
int initialCapacity)
maps each unit of the graph to the result of
mapTo.before the mapping the method init is called.the internal hashtable is initialized to initialCapacity. |
UnitMap(UnitGraph g,
int initialCapacity,
float loadFactor)
maps each unit of the graph to the result of
mapTo.before the mapping the method init is called.the internal hashtable is initialized to initialCapacity and loadFactor. |
Copyright © 2020 Soot OSS. All rights reserved.