Class DataDependenceGraph
- java.lang.Object
-
- com.ensoftcorp.open.slice.analysis.DependenceGraph
-
- com.ensoftcorp.open.slice.analysis.DataDependenceGraph
-
public class DataDependenceGraph extends DependenceGraph
Compute Data Dependence Graph- Author:
- Payas Awadhutkar, Ben Holland
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ensoftcorp.open.slice.analysis.DependenceGraph
DependenceGraph.Factory, DependenceGraph.SliceDirection
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BACKWARD_DATA_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a backwards data dependencestatic java.lang.String
DATA_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a data dependencestatic java.lang.String
DEPENDENT_VARIABLE
Used to identify the dependent variablestatic java.lang.String
INTERPROCEDURAL_DATA_DEPENDENCE_EDGE
Used to tag the edges representing interprocedural data dependencestatic java.lang.String
JIMPLE_INITIALIZATION_DATA_DEPENDENCE_EDGE
Used to simulate the implict data dependency from initialization to instantiationstatic java.lang.String
POINTER_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a data dependence due to a pointer
-
Constructor Summary
Constructors Constructor Description DataDependenceGraph(com.ensoftcorp.atlas.core.db.graph.Graph dfg)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.ensoftcorp.atlas.core.query.Q
getDataFlowGraph()
Returns the underlying data flow graphcom.ensoftcorp.atlas.core.query.Q
getGraph()
static com.ensoftcorp.atlas.core.query.Q
getPointersContained(com.ensoftcorp.atlas.core.query.Q variables)
com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node>
getRedirectionTargets(com.ensoftcorp.atlas.core.db.graph.Node statement, java.lang.String variable)
-
Methods inherited from class com.ensoftcorp.open.slice.analysis.DependenceGraph
getSlice, getStatement, getStatements
-
-
-
-
Field Detail
-
DATA_DEPENDENCE_EDGE
public static final java.lang.String DATA_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a data dependence- See Also:
- Constant Field Values
-
POINTER_DEPENDENCE_EDGE
public static final java.lang.String POINTER_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a data dependence due to a pointer- See Also:
- Constant Field Values
-
BACKWARD_DATA_DEPENDENCE_EDGE
public static final java.lang.String BACKWARD_DATA_DEPENDENCE_EDGE
Used to tag the edges between nodes that contain a backwards data dependence- See Also:
- Constant Field Values
-
INTERPROCEDURAL_DATA_DEPENDENCE_EDGE
public static final java.lang.String INTERPROCEDURAL_DATA_DEPENDENCE_EDGE
Used to tag the edges representing interprocedural data dependence- See Also:
- Constant Field Values
-
JIMPLE_INITIALIZATION_DATA_DEPENDENCE_EDGE
public static final java.lang.String JIMPLE_INITIALIZATION_DATA_DEPENDENCE_EDGE
Used to simulate the implict data dependency from initialization to instantiation- See Also:
- Constant Field Values
-
DEPENDENT_VARIABLE
public static final java.lang.String DEPENDENT_VARIABLE
Used to identify the dependent variable- See Also:
- Constant Field Values
-
-
Method Detail
-
getPointersContained
public static com.ensoftcorp.atlas.core.query.Q getPointersContained(com.ensoftcorp.atlas.core.query.Q variables)
-
getRedirectionTargets
public com.ensoftcorp.atlas.core.db.set.AtlasSet<com.ensoftcorp.atlas.core.db.graph.Node> getRedirectionTargets(com.ensoftcorp.atlas.core.db.graph.Node statement, java.lang.String variable)
-
getGraph
public com.ensoftcorp.atlas.core.query.Q getGraph()
- Specified by:
getGraph
in classDependenceGraph
-
getDataFlowGraph
public com.ensoftcorp.atlas.core.query.Q getDataFlowGraph()
Returns the underlying data flow graph- Returns:
-
-