Uses of Interface
soot.toolkits.graph.DirectedGraph

Packages that use DirectedGraph
soot.dava.internal.asg   
soot.jbco.jimpleTransformations   
soot.jbco.util   
soot.jimple.toolkits.annotation.purity   
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.mhp   
soot.jimple.toolkits.thread.mhp.pegcallgraph   
soot.jimple.toolkits.thread.synchronization   
soot.toolkits.graph Toolkit to produce and manipulate various types of control flow graphs. 
soot.toolkits.graph.interaction   
soot.toolkits.graph.pdg   
soot.toolkits.scalar A number of scalar optimizations, and the flow analysis framework. 
soot.util Generally useful utility classes for Soot. 
soot.util.cfgcmd   
 

Uses of DirectedGraph in soot.dava.internal.asg
 

Classes in soot.dava.internal.asg that implement DirectedGraph
 class AugmentedStmtGraph
           
 

Uses of DirectedGraph in soot.jbco.jimpleTransformations
 

Constructors in soot.jbco.jimpleTransformations with parameters of type DirectedGraph
New2InitFlowAnalysis(DirectedGraph graph)
           
New2InitFlowAnalysis(DirectedGraph graph)
           
 

Uses of DirectedGraph in soot.jbco.util
 

Classes in soot.jbco.util that implement DirectedGraph
 class SimpleExceptionalGraph
           
 

Uses of DirectedGraph in soot.jimple.toolkits.annotation.purity
 

Classes in soot.jimple.toolkits.annotation.purity that implement DirectedGraph
 class DirectedCallGraph
          Builds a DirectedGraph from a CallGraph and SootMethodFilter.
 

Fields in soot.jimple.toolkits.annotation.purity declared as DirectedGraph
protected  DirectedGraph AbstractInterproceduralAnalysis.dg
           
protected  DirectedGraph AbstractInterproceduralAnalysis.dg
           
 

Uses of DirectedGraph in soot.jimple.toolkits.infoflow
 

Methods in soot.jimple.toolkits.infoflow with parameters of type DirectedGraph
static void InfoFlowAnalysis.printGraphToDotFile(String filename, DirectedGraph graph, String graphname, boolean onePage)
           
static void InfoFlowAnalysis.printGraphToDotFile(String filename, DirectedGraph graph, String graphname, boolean onePage)
           
static void InfoFlowAnalysis.printInfoFlowSummary(DirectedGraph g)
           
static void InfoFlowAnalysis.printInfoFlowSummary(DirectedGraph g)
           
 

Uses of DirectedGraph in soot.jimple.toolkits.scalar
 

Constructors in soot.jimple.toolkits.scalar with parameters of type DirectedGraph
FastAvailableExpressionsAnalysis(DirectedGraph dg, SootMethod m, SideEffectTester st)
           
FastAvailableExpressionsAnalysis(DirectedGraph dg, SootMethod m, SideEffectTester st)
           
PessimisticAvailableExpressionsAnalysis(DirectedGraph dg, SootMethod m, SideEffectTester st)
           
PessimisticAvailableExpressionsAnalysis(DirectedGraph dg, SootMethod m, SideEffectTester st)
           
SlowAvailableExpressionsAnalysis(DirectedGraph dg)
           
SlowAvailableExpressionsAnalysis(DirectedGraph dg)
           
 

Uses of DirectedGraph in soot.jimple.toolkits.scalar.pre
 

Constructors in soot.jimple.toolkits.scalar.pre with parameters of type DirectedGraph
DelayabilityAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
DelayabilityAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
DelayabilityAnalysis(DirectedGraph dg, EarliestnessComputation earliest, Map equivRhsMap)
          automaticly 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 dg, EarliestnessComputation earliest, Map equivRhsMap)
          automaticly 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 dg, EarliestnessComputation earliest, Map equivRhsMap, BoundedFlowSet set)
          automaticly 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 dg, EarliestnessComputation earliest, Map equivRhsMap, BoundedFlowSet set)
          automaticly 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 dg)
          this constructor should not be used, and will throw a runtime-exception!
DownSafetyAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
DownSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect)
          this constructor automaticly performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
DownSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect)
          this constructor automaticly performs the DownSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
DownSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect, BoundedFlowSet set)
          this constructor automaticly 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 dg, Map unitToGen, SideEffectTester sideEffect, BoundedFlowSet set)
          this constructor automaticly 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.
NotIsolatedAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
NotIsolatedAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
NotIsolatedAnalysis(DirectedGraph dg, LatestComputation latest, 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, 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, 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.
NotIsolatedAnalysis(DirectedGraph dg, LatestComputation latest, 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.
UpSafetyAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
UpSafetyAnalysis(DirectedGraph dg)
          this constructor should not be used, and will throw a runtime-exception!
UpSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect)
          this constructor automaticly performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
UpSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect)
          this constructor automaticly performs the UpSafety-analysis.
the result of the analysis is as usual in FlowBefore (getFlowBefore()) and FlowAfter (getFlowAfter()).
UpSafetyAnalysis(DirectedGraph dg, Map unitToGen, SideEffectTester sideEffect, BoundedFlowSet set)
          this constructor automaticly 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 dg, Map unitToGen, SideEffectTester sideEffect, BoundedFlowSet set)
          this constructor automaticly 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.
 

Uses of DirectedGraph in soot.jimple.toolkits.thread.mhp
 

Classes in soot.jimple.toolkits.thread.mhp that implement DirectedGraph
 class PegGraph
          Oct.
 

Methods in soot.jimple.toolkits.thread.mhp with parameters of type DirectedGraph
static void PegCallGraphToDot.toDotFile(String methodname, DirectedGraph graph, String graphname)
          Generates a dot format file for a DirectedGraph
static void PegCallGraphToDot.toDotFile(String methodname, DirectedGraph graph, String graphname)
          Generates a dot format file for a DirectedGraph
 

Constructors in soot.jimple.toolkits.thread.mhp with parameters of type DirectedGraph
PegCallGraphToDot(DirectedGraph graph, boolean onepage, String name)
           
PegCallGraphToDot(DirectedGraph graph, boolean onepage, String name)
           
SCC(Iterator it, DirectedGraph g)
           
SCC(Iterator it, DirectedGraph g)
           
 

Uses of DirectedGraph in soot.jimple.toolkits.thread.mhp.pegcallgraph
 

Classes in soot.jimple.toolkits.thread.mhp.pegcallgraph that implement DirectedGraph
 class PegCallGraph
           
 

Uses of DirectedGraph in soot.jimple.toolkits.thread.synchronization
 

Methods in soot.jimple.toolkits.thread.synchronization that return DirectedGraph
 DirectedGraph LockAllocator.getDeadlockGraph()
           
 DirectedGraph LockAllocator.getDeadlockGraph()
           
 

Uses of DirectedGraph in soot.toolkits.graph
 

Subinterfaces of DirectedGraph in soot.toolkits.graph
 interface ExceptionalGraph<N>
          Defines the interface for navigating a control flow graph which distinguishes exceptional control flow.
 interface MutableDirectedGraph<N>
          Defines a DirectedGraph which is modifiable.
 interface MutableEdgeLabelledDirectedGraph
          Defines a DirectedGraph which is modifiable and associates a label object with every edge.
 interface ReversibleGraph
          DirectedGraph which can be reversed and re-reversed.
 

Classes in soot.toolkits.graph that implement DirectedGraph
 class ArrayRefBlockGraph
          A CFG where the nodes are Block instances, and where Units which include array references start new blocks.
 class BlockGraph
           Represents the control flow graph of a Body at the basic block level.
 class BriefBlockGraph
          Represents a CFG for a Body where the nodes are Blocks and edges are derived from control flow.
 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 ClassicCompleteBlockGraph
          Represents a CFG where the nodes are Blocks and the edges are derived from control flow.
 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 CompleteBlockGraph
          Represents a CFG for a Body instance where the nodes are Block instances, and where control flow associated with exceptions is taken into account.
 class CompleteUnitGraph
          Represents a CFG for a Body instance where the nodes are Unit instances, and where control flow associated with exceptions is taken into account.
 class DominatorTreeAdapter
          This adapter provides a DirectedGraph interface to DominatorTree.
 class ExceptionalBlockGraph
          Represents a CFG where the nodes are Blocks and the edges are derived from control flow.
 class ExceptionalUnitGraph
          Represents a control flow graph for a Body instance where the nodes are Unit instances, and where control flow associated with exceptions is taken into account.
 class HashMutableDirectedGraph
          HashMap based implementation of a MutableBlockGraph.
 class HashMutableEdgeLabelledDirectedGraph
           
 class HashReversibleGraph
          A reversible version of HashMutableDirectedGraph
 class InverseGraph<N>
          An inverted graph of a directed graph.
 class MemoryEfficientGraph
          A memory efficient version of HashMutableDirectedGraph, in the sense that throw-away objects passed as arguments will not be kept in the process of adding edges.
 class TrapUnitGraph
           Represents a CFG for a Body instance where the nodes are Unit instances, and where, in additional to unexceptional control flow edges, edges are added from every trapped Unit to the Trap's handler Unit, regardless of whether the trapped Units may actually throw the exception caught by the Trap.
 class UnitGraph
           Represents a CFG where the nodes are Unit instances and edges represent unexceptional and (possibly) exceptional control flow between Units.
 class ZonedBlockGraph
          A CFG where the nodes are Block instances, and where exception boundaries are taken into account when finding the Blocks for the provided Body.
 

Fields in soot.toolkits.graph declared as DirectedGraph
protected  DirectedGraph<N> InverseGraph.g
           
protected  DirectedGraph<N> StronglyConnectedComponentsFast.g
           
protected  DirectedGraph<N> StronglyConnectedComponentsFast.g
           
protected  DirectedGraph<N> InverseGraph.g
           
protected  DirectedGraph DominatorTree.graph
           
protected  DirectedGraph<N> MHGDominatorsFinder.graph
           
protected  DirectedGraph SimpleDominatorsFinder.graph
           
protected  DirectedGraph SimpleDominatorsFinder.graph
           
protected  DirectedGraph<N> MHGDominatorsFinder.graph
           
protected  DirectedGraph DominatorTree.graph
           
 

Methods in soot.toolkits.graph that return DirectedGraph
 DirectedGraph DominatorTree.getGraph()
          Returns the original graph to which the Dominator tree pertains.
 DirectedGraph<N> DominatorsFinder.getGraph()
          Returns the graph to which the analysis pertains.
 DirectedGraph<N> MHGDominatorsFinder.getGraph()
           
 DirectedGraph SimpleDominatorsFinder.getGraph()
           
 DirectedGraph SimpleDominatorsFinder.getGraph()
           
 DirectedGraph<N> MHGDominatorsFinder.getGraph()
           
 DirectedGraph DominatorTree.getGraph()
          Returns the original graph to which the Dominator tree pertains.
 DirectedGraph<N> DominatorsFinder.getGraph()
          Returns the graph to which the analysis pertains.
 DirectedGraph StronglyConnectedComponents.getSuperGraph()
          Deprecated.  
 DirectedGraph StronglyConnectedComponents.getSuperGraph()
          Deprecated.  
 

Methods in soot.toolkits.graph with parameters of type DirectedGraph
protected  List<N> PseudoTopologicalOrderer.computeOrder(DirectedGraph<N> g)
          Orders in pseudo-topological order.
protected  List<N> PseudoTopologicalOrderer.computeOrder(DirectedGraph<N> g)
          Orders in pseudo-topological order.
 List<N> PseudoTopologicalOrderer.newList(DirectedGraph g)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List SlowPseudoTopologicalOrderer.newList(DirectedGraph g)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List SlowPseudoTopologicalOrderer.newList(DirectedGraph g)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List<N> PseudoTopologicalOrderer.newList(DirectedGraph g)
          Deprecated. use #newList(DirectedGraph, boolean)) instead
 List<N> Orderer.newList(DirectedGraph<N> g, boolean reverse)
          Builds an order for a directed graph.
 List<N> PseudoTopologicalOrderer.newList(DirectedGraph<N> g, boolean reverse)
          Builds an order for a directed graph.
 List<N> PseudoTopologicalOrderer.newList(DirectedGraph<N> g, boolean reverse)
          Builds an order for a directed graph.
 List<N> Orderer.newList(DirectedGraph<N> g, boolean reverse)
          Builds an order for a directed graph.
 List SlowPseudoTopologicalOrderer.newList(DirectedGraph g, boolean reverse)
          Builds an order for a directed graph.
 List SlowPseudoTopologicalOrderer.newList(DirectedGraph g, boolean reverse)
          Builds an order for a directed graph.
 

Constructors in soot.toolkits.graph with parameters of type DirectedGraph
HashReversibleGraph(DirectedGraph dg)
           
HashReversibleGraph(DirectedGraph dg)
           
InverseGraph(DirectedGraph<N> g)
           
InverseGraph(DirectedGraph<N> g)
           
MHGDominatorsFinder(DirectedGraph<N> graph)
           
MHGDominatorsFinder(DirectedGraph<N> graph)
           
MHGPostDominatorsFinder(DirectedGraph graph)
           
MHGPostDominatorsFinder(DirectedGraph graph)
           
SimpleDominatorsFinder(DirectedGraph graph)
          Compute dominators for provided singled-headed directed graph.
SimpleDominatorsFinder(DirectedGraph graph)
          Compute dominators for provided singled-headed directed graph.
StronglyConnectedComponents(DirectedGraph g)
          Deprecated.  
StronglyConnectedComponents(DirectedGraph g)
          Deprecated.  
StronglyConnectedComponentsFast(DirectedGraph<N> g)
           
StronglyConnectedComponentsFast(DirectedGraph<N> g)
           
 

Uses of DirectedGraph in soot.toolkits.graph.interaction
 

Methods in soot.toolkits.graph.interaction with parameters of type DirectedGraph
 void InteractionHandler.handleCfgEvent(DirectedGraph g)
           
 void InteractionHandler.handleCfgEvent(DirectedGraph g)
           
 

Uses of DirectedGraph in soot.toolkits.graph.pdg
 

Subinterfaces of DirectedGraph in soot.toolkits.graph.pdg
 interface ProgramDependenceGraph
          This defines the interface to a Program Dependence Graph as defined in Ferrante, J., Ottenstein, K.
 

Classes in soot.toolkits.graph.pdg that implement DirectedGraph
 class EnhancedBlockGraph
           
 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 addition a concise representation of the exceptional flow as well as START/STOP auxiliary nodes.
 class HashMutablePDG
          This class implements a Program Dependence Graph as defined in Ferrante, J., Ottenstein, K.
 

Methods in soot.toolkits.graph.pdg with parameters of type DirectedGraph
 String RegionAnalysis.CFGtoString(DirectedGraph cfg, boolean blockDetail)
           
 String RegionAnalysis.CFGtoString(DirectedGraph cfg, boolean blockDetail)
           
 

Uses of DirectedGraph in soot.toolkits.scalar
 

Fields in soot.toolkits.scalar declared as DirectedGraph
protected  DirectedGraph<N> AbstractFlowAnalysis.graph
          The graph being analysed.
protected  DirectedGraph<N> AbstractFlowAnalysis.graph
          The graph being analysed.
 

Constructors in soot.toolkits.scalar with parameters of type DirectedGraph
AbstractFlowAnalysis(DirectedGraph<N> graph)
          Constructs a flow analysis on the given DirectedGraph.
AbstractFlowAnalysis(DirectedGraph<N> graph)
          Constructs a flow analysis on the given DirectedGraph.
BackwardFlowAnalysis(DirectedGraph<N> graph)
          Construct the analysis from a DirectedGraph representation of a Body.
BackwardFlowAnalysis(DirectedGraph<N> graph)
          Construct the analysis from a DirectedGraph representation of a Body.
BranchedFlowAnalysis(DirectedGraph<N> graph)
           
BranchedFlowAnalysis(DirectedGraph<N> graph)
           
FlowAnalysis(DirectedGraph<N> graph)
          Constructs a flow analysis on the given DirectedGraph.
FlowAnalysis(DirectedGraph<N> graph)
          Constructs a flow analysis on the given DirectedGraph.
ForwardFlowAnalysis(DirectedGraph<N> graph)
          Construct the analysis from a DirectedGraph representation of a Body.
ForwardFlowAnalysis(DirectedGraph<N> graph)
          Construct the analysis from a DirectedGraph representation of a Body.
 

Uses of DirectedGraph in soot.util
 

Methods in soot.util with parameters of type DirectedGraph
 void PhaseDumper.dumpGraph(DirectedGraph g, Body b)
          Asks the PhaseDumper to dump the passed DirectedGraph if the current phase is being dumped.
 void PhaseDumper.dumpGraph(DirectedGraph g, Body b)
          Asks the PhaseDumper to dump the passed DirectedGraph if the current phase is being dumped.
 

Uses of DirectedGraph in soot.util.cfgcmd
 

Methods in soot.util.cfgcmd that return DirectedGraph
abstract  DirectedGraph CFGGraphType.buildGraph(Body b)
          Method that will build a graph of this type.
abstract  DirectedGraph CFGGraphType.buildGraph(Body b)
          Method that will build a graph of this type.
 

Methods in soot.util.cfgcmd with parameters of type DirectedGraph
 DotGraph CFGToDotGraph.drawCFG(DirectedGraph graph, Body body)
          Create a DotGraph whose nodes and edges depict a control flow graph without distinguished exceptional edges.
 DotGraph CFGToDotGraph.drawCFG(DirectedGraph graph, Body body)
          Create a DotGraph whose nodes and edges depict a control flow graph without distinguished exceptional edges.
abstract  DotGraph CFGGraphType.drawGraph(CFGToDotGraph drawer, DirectedGraph g, Body b)
          Method that will draw a DotGraph representation of the control flow in this type of graph.
abstract  DotGraph CFGGraphType.drawGraph(CFGToDotGraph drawer, DirectedGraph g, Body b)
          Method that will draw a DotGraph representation of the control flow in this type of graph.