public class SDG<T extends InstanceKey> extends AbstractNumberedGraph<Statement> implements ISDG
Constructor and Description |
---|
SDG(CallGraph cg,
PointerAnalysis<T> pa,
ModRef modRef,
Slicer.DataDependenceOptions dOptions,
Slicer.ControlDependenceOptions cOptions) |
SDG(CallGraph cg,
PointerAnalysis<T> pa,
ModRef modRef,
Slicer.DataDependenceOptions dOptions,
Slicer.ControlDependenceOptions cOptions,
HeapExclusions heapExclude) |
SDG(CallGraph cg,
PointerAnalysis<T> pa,
Slicer.DataDependenceOptions dOptions,
Slicer.ControlDependenceOptions cOptions) |
Modifier and Type | Method and Description |
---|---|
CallGraph |
getCallGraph() |
IClassHierarchy |
getClassHierarchy() |
Slicer.ControlDependenceOptions |
getCOptions()
Slicer.ControlDependenceOptions used to construct this graph. |
Slicer.DataDependenceOptions |
getDOptions() |
protected NumberedEdgeManager<Statement> |
getEdgeManager() |
NumberedNodeManager<Statement> |
getNodeManager() |
PDG |
getPDG(CGNode node)
Get the program dependence graph constructed for a particular node.
|
PointerAnalysis<? extends InstanceKey> |
getPointerAnalysis() |
Iterator<? extends Statement> |
iterateLazyNodes()
iterate over the nodes
|
String |
toString()
Use this with care.
|
getMaxNumber, getNode, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodes
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
removeNodeAndEdges
getMaxNumber, getNode, getNumber, iterateNodes
addNode, containsNode, getNumberOfNodes, iterator, removeNode
forEach, spliterator
getPredNodeNumbers, getSuccNodeNumbers
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
public SDG(CallGraph cg, PointerAnalysis<T> pa, Slicer.DataDependenceOptions dOptions, Slicer.ControlDependenceOptions cOptions)
public SDG(CallGraph cg, PointerAnalysis<T> pa, ModRef modRef, Slicer.DataDependenceOptions dOptions, Slicer.ControlDependenceOptions cOptions)
public SDG(CallGraph cg, PointerAnalysis<T> pa, ModRef modRef, Slicer.DataDependenceOptions dOptions, Slicer.ControlDependenceOptions cOptions, HeapExclusions heapExclude) throws IllegalArgumentException
IllegalArgumentException
public String toString()
toString
in class AbstractGraph<Statement>
AbstractGraph.toString()
public Iterator<? extends Statement> iterateLazyNodes()
iterateLazyNodes
in interface ISDG
protected NumberedEdgeManager<Statement> getEdgeManager()
getEdgeManager
in class AbstractNumberedGraph<Statement>
public NumberedNodeManager<Statement> getNodeManager()
getNodeManager
in class AbstractNumberedGraph<Statement>
public PDG getPDG(CGNode node)
ISDG
public Slicer.ControlDependenceOptions getCOptions()
ISDG
Slicer.ControlDependenceOptions
used to construct this graph.getCOptions
in interface ISDG
public Slicer.DataDependenceOptions getDOptions()
public CallGraph getCallGraph()
public IClassHierarchy getClassHierarchy()
getClassHierarchy
in interface IClassHierarchyDweller
public PointerAnalysis<? extends InstanceKey> getPointerAnalysis()