Interface CallGraphAlgorithm

All Known Implementing Classes:
AbstractCallGraphAlgorithm, ClassHierarchyAnalysisAlgorithm, RapidTypeAnalysisAlgorithm

public interface CallGraphAlgorithm
The interface of a implemented call graph algorithms
  • Method Details

    • initialize

      @Nonnull CallGraph initialize()
      This method initializes and starts the call graph algorithm without given entry points. Before the algorithm is started, all main methods are searched and set as entry points.
      Returns:
      a generated call graph with every main class as starting point.
    • initialize

      @Nonnull CallGraph initialize(@Nonnull List<MethodSignature> entryPoints)
      This method initializes and starts the call graph algorithm with given entry points. The entry points define the start methods in the call graph algorithm.
      Parameters:
      entryPoints - a list of entry points for the call graph algorithm. The algorithm starts at these methods and inspects all reachable methods.
      Returns:
      a generated call graph with every entry point as starting point.
    • addClass

      @Nonnull CallGraph addClass(@Nonnull CallGraph oldCallGraph, @Nonnull ClassType classType)
      Adds a class to the call graph. All methods will be set as entry points in the call graph algorithm. Starts the call graph algorithm. The found edges will be added to the call graph.
      Parameters:
      oldCallGraph - the call graph which will be modified.
      classType - the type of the calls.
      Returns:
      the modified call graph containing all methods of the given class