Class DataDependenceGraph


  • public class DataDependenceGraph
    extends DependenceGraph
    Compute Data Dependence Graph
    Author:
    Payas Awadhutkar, Ben Holland
    • 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
    • Constructor Detail

      • DataDependenceGraph

        public DataDependenceGraph​(com.ensoftcorp.atlas.core.db.graph.Graph dfg)
    • 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)
      • getDataFlowGraph

        public com.ensoftcorp.atlas.core.query.Q getDataFlowGraph()
        Returns the underlying data flow graph
        Returns: