public class ControlDependenceGraph extends EvoSuiteGraph<BasicBlock,ControlFlowEdge>
edgeClass, graph, graphId| Constructor and Description |
|---|
ControlDependenceGraph(ActualControlFlowGraph cfg)
Constructor for ControlDependenceGraph.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
dotSubFolder()
Subclasses can overwrite this method in order to separate their .dot and
.png export to a special folder.
|
Set<BasicBlock> |
getAlternativeBlocks(ControlDependency dependency)
getAlternativeBlocks
|
String |
getClassName()
Getter for the field
className. |
int |
getControlDependenceDepth(ControlDependency dependence)
getControlDependenceDepth
|
Set<ControlDependency> |
getControlDependentBranches(BasicBlock insBlock)
Returns a Set containing all Branches the given BasicBlock is control
dependent on.
|
Set<Integer> |
getControlDependentBranchIds(BasicBlock ins)
getControlDependentBranchIds
|
String |
getMethodName()
Getter for the field
methodName. |
String |
getName()
getName
|
boolean |
isAdjacentToEntryBlock(BasicBlock insBlock)
Returns true if the given BasicBlock has an incoming edge from this CDG's
EntryBlock or is itself the EntryBlock
|
boolean |
isDirectlyControlDependentOn(BasicBlock insBlock,
Branch b)
Determines whether the given BasicBlock is directly control dependent on
the given Branch.
|
boolean |
isDirectlyControlDependentOn(BytecodeInstruction ins,
Branch b)
Determines whether the given BytecodeInstruction is directly control
dependent on the given Branch.
|
boolean |
isRootDependent(BasicBlock insBlock)
Checks whether the given basicBlock is dependent on the root branch of
it's method
This is the case if the BasicBlock of the given instruction is directly
adjacent to the EntryBlock
|
boolean |
isRootDependent(BytecodeInstruction ins)
Checks whether the given instruction is dependent on the root branch of
it's method
This is the case if the BasicBlock of the given instruction is directly
adjacent to the EntryBlock
|
boolean |
knowsInstruction(BytecodeInstruction ins)
Checks whether this graph knows the given instruction.
|
addEdge, addEdge, addVertex, addVertices, addVertices, computeReverseJGraph, containsEdge, containsEdge, containsVertex, determineBranches, determineConnectedVertices, determineEntryPoints, determineExitPoints, determineJoins, edgeCount, edgeSet, getChildren, getDistance, getEdge, getEdgeSource, getEdgeTarget, getIsolatedNodes, getNodesWithoutChildren, getParents, getRandomVertex, getSingleChild, hasNPartentsMChildren, incomingEdgesOf, inDegreeOf, isConnected, isDirectSuccessor, isEmpty, outDegreeOf, outgoingEdgesOf, redirectEdges, redirectEdgeSource, redirectEdgeTarget, redirectIncomingEdges, redirectOutgoingEdges, registerEdgeAttributeProvider, registerVertexAttributeProvider, toDot, toFileString, vertexCount, vertexSetpublic ControlDependenceGraph(ActualControlFlowGraph cfg)
Constructor for ControlDependenceGraph.
cfg - a ActualControlFlowGraph object.public boolean knowsInstruction(BytecodeInstruction ins)
ins - a BytecodeInstruction object.public int getControlDependenceDepth(ControlDependency dependence)
getControlDependenceDepth
dependence - a ControlDependency object.public Set<BasicBlock> getAlternativeBlocks(ControlDependency dependency)
getAlternativeBlocks
dependency - a ControlDependency object.Set object.public Set<ControlDependency> getControlDependentBranches(BasicBlock insBlock)
insBlock - a BasicBlock object.Set object.public Set<Integer> getControlDependentBranchIds(BasicBlock ins)
getControlDependentBranchIds
ins - a BasicBlock object.Set object.public boolean isDirectlyControlDependentOn(BytecodeInstruction ins, Branch b)
ins - a BytecodeInstruction object.b - a Branch object.public boolean isDirectlyControlDependentOn(BasicBlock insBlock, Branch b)
insBlock - a BasicBlock object.b - a Branch object.public boolean isRootDependent(BytecodeInstruction ins)
ins - a BytecodeInstruction object.public boolean isRootDependent(BasicBlock insBlock)
insBlock - a BasicBlock object.public boolean isAdjacentToEntryBlock(BasicBlock insBlock)
insBlock - a BasicBlock object.public String getName()
getName
getName in class EvoSuiteGraph<BasicBlock,ControlFlowEdge>String object.protected String dotSubFolder()
dotSubFolder in class EvoSuiteGraph<BasicBlock,ControlFlowEdge>String object.Copyright © 2010–2017 EvoSuite. All rights reserved.