Class SDGBuilder


  • public class SDGBuilder
    extends Object
    A builder for a system dependence graph, stitching per-method PDGs together over a call graph.
    • Constructor Detail

      • SDGBuilder

        public SDGBuilder​(CallGraph callGraph,
                          Map<MethodReference,​IRMethod> irMethods)
        Creates a builder over the given call graph and method bodies.
        Parameters:
        callGraph - the call graph supplying caller/callee relationships
        irMethods - the SSA form of every method to include, keyed by reference
    • Method Detail

      • getCallGraph

        public CallGraph getCallGraph()
        Returns:
        the call graph
      • getSdg

        public SDG getSdg()
        Returns:
        the sdg
      • build

        public static SDG build​(CallGraph callGraph,
                                Map<MethodReference,​IRMethod> irMethods)
        Builds the system dependence graph, linking each method's PDG through call, parameter and summary edges.
        Parameters:
        callGraph - the call graph supplying caller/callee relationships
        irMethods - the SSA form of every method to include, keyed by reference
        Returns:
        the completed system dependence graph