Interface ICFG<Method,Node>

All Superinterfaces:
Graph<Node>, Iterable<Node>, Serializable

public interface ICFG<Method,Node> extends Graph<Node>
Represents an inter-procedural control-flow graph.
  • Method Details

    • entryMethods

      Stream<Method> entryMethods()
      Returns:
      entry methods of the ICFG.
    • getInEdgesOf

      Set<ICFGEdge<Node>> getInEdgesOf(Node node)
      Specified by:
      getInEdgesOf in interface Graph<Method>
      Returns:
      the incoming edges of the given node.
    • getOutEdgesOf

      Set<ICFGEdge<Node>> getOutEdgesOf(Node node)
      Specified by:
      getOutEdgesOf in interface Graph<Method>
      Returns:
      the outgoing edges of the given node.
    • getCalleesOf

      Set<Method> getCalleesOf(Node callSite)
      Returns:
      the methods that are called by the given call site.
    • getReturnSitesOf

      Set<Node> getReturnSitesOf(Node callSite)
      Returns:
      the return sites of the given call site.
    • getEntryOf

      Node getEntryOf(Method method)
      Returns:
      the entry node of the given method.
    • getExitOf

      Node getExitOf(Method method)
      Returns:
      the exit node of the given method.
    • getCallersOf

      Set<Node> getCallersOf(Method method)
      Returns:
      the call sites that invoke the given method.
    • getContainingMethodOf

      Method getContainingMethodOf(Node node)
      Returns:
      the method that contains the given node.
    • isCallSite

      boolean isCallSite(Node node)
      Returns:
      true if the given node is a call site, otherwise false.