Interface BiDiInterproceduralCFG<N,M>

Type Parameters:
N - Nodes in the CFG, e.g. AbstractStmt
M - Method representation, e.g. SootMethod
All Superinterfaces:
heros.InterproceduralCFG<N,M>
All Known Implementing Classes:
AbstractJimpleBasedICFG, BackwardsInterproceduralCFG, JimpleBasedInterproceduralCFG

public interface BiDiInterproceduralCFG<N,M> extends heros.InterproceduralCFG<N,M>
  • Method Summary

    Modifier and Type
    Method
    Description
     
    returns entry points of a method
     
     
    returns the predecessors of a node
    returns predecessors of a call node
    boolean
    Checks whether the given statement is reachable from the entry point
    boolean
    Gets whether the given statement is a return site of at least one call

    Methods inherited from interface heros.InterproceduralCFG

    allNonCallStartNodes, getCalleesOfCallAt, getCallersOf, getCallsFromWithin, getMethodOf, getReturnSitesOfCallAt, getStartPointsOf, getSuccsOf, isBranchTarget, isCallStmt, isExitStmt, isFallThroughSuccessor, isStartPoint
  • Method Details

    • getPredsOf

      List<N> getPredsOf(N u)
      returns the predecessors of a node
      Specified by:
      getPredsOf in interface heros.InterproceduralCFG<N,M>
      Parameters:
      u -
      Returns:
    • getEndPointsOf

      Collection<N> getEndPointsOf(M m)
      returns entry points of a method
      Parameters:
      m -
      Returns:
    • getPredsOfCallAt

      List<N> getPredsOfCallAt(N u)
      returns predecessors of a call node
      Parameters:
      u -
      Returns:
    • allNonCallEndNodes

      Set<N> allNonCallEndNodes()
    • getOrCreateStmtGraph

      StmtGraph getOrCreateStmtGraph(M body)
    • getParameterRefs

      List<Value> getParameterRefs(M m)
    • isReturnSite

      boolean isReturnSite(N n)
      Gets whether the given statement is a return site of at least one call
      Parameters:
      n - The statement to check
      Returns:
      True if the given statement is a return site, otherwise false
    • isReachable

      boolean isReachable(N u)
      Checks whether the given statement is reachable from the entry point
      Parameters:
      u - The statement to check
      Returns:
      True if there is a control flow path from the entry point of the program to the given statement, otherwise false