Class JimpleBasedInterproceduralCFG

java.lang.Object
sootup.analysis.interprocedural.icfg.AbstractJimpleBasedICFG
sootup.analysis.interprocedural.icfg.JimpleBasedInterproceduralCFG
All Implemented Interfaces:
heros.InterproceduralCFG<Stmt,SootMethod>, BiDiInterproceduralCFG<Stmt,SootMethod>

public class JimpleBasedInterproceduralCFG extends AbstractJimpleBasedICFG
Default implementation for the InterproceduralCFG interface. Includes all statements reachable from entrypoints through explicit call statements or through calls to Thread.start().

This class is designed to be thread safe, and subclasses of this class must be designed in a thread-safe way, too.

  • Field Details

    • logger

      protected static final org.slf4j.Logger logger
    • includeReflectiveCalls

      protected boolean includeReflectiveCalls
    • cg

      protected final CallGraph cg
    • loaderUnitToCallees

      protected com.google.common.cache.CacheLoader<Stmt,Collection<SootMethod>> loaderUnitToCallees
    • stmtToCallees

      protected final com.google.common.cache.LoadingCache<Stmt,Collection<SootMethod>> stmtToCallees
    • loaderMethodToCallers

      protected com.google.common.cache.CacheLoader<SootMethod,Collection<Stmt>> loaderMethodToCallers
    • methodToCallers

      protected final com.google.common.cache.LoadingCache<SootMethod,Collection<Stmt>> methodToCallers
  • Constructor Details

    • JimpleBasedInterproceduralCFG

      public JimpleBasedInterproceduralCFG(View view, List<MethodSignature> cgEntryPoints, boolean enableExceptions, boolean includeReflectiveCalls)
    • JimpleBasedInterproceduralCFG

      public JimpleBasedInterproceduralCFG(CallGraph cg, View view, boolean enableExceptions, boolean includeReflectiveCalls)
  • Method Details