Class AbstractJimpleBasedICFG
java.lang.Object
sootup.analysis.interprocedural.icfg.AbstractJimpleBasedICFG
- All Implemented Interfaces:
heros.InterproceduralCFG<Stmt,,SootMethod> BiDiInterproceduralCFG<Stmt,SootMethod>
- Direct Known Subclasses:
JimpleBasedInterproceduralCFG
public abstract class AbstractJimpleBasedICFG
extends Object
implements BiDiInterproceduralCFG<Stmt,SootMethod>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected com.google.common.cache.LoadingCache<SootMethod,Set<Stmt>> protected com.google.common.cache.LoadingCache<SootMethod,List<Value>> protected View -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedAbstractJimpleBasedICFG(boolean enableExceptions) -
Method Summary
Modifier and TypeMethodDescriptiongetCallsFromWithinMethod(SootMethod method) returns entry points of a methodgetMethodOf(Stmt stmt) StmtGraph<?>getOrCreateStmtGraph(Body body) StmtGraph<?>getOrCreateStmtGraph(SootMethod method) getPredsOf(Stmt u) returns the predecessors of a nodereturns predecessors of a call nodegetSuccsOf(Stmt stmt) voidbooleanisBranchTarget(Stmt u, Stmt succ) booleanisCallStmt(Stmt stmt) booleanisExitStmt(Stmt stmt) booleanisFallThroughSuccessor(Stmt stmt, Stmt successorCandidate) booleanisReachable(Stmt u) Checks whether the given statement is reachable from the entry pointbooleanisReturnSite(Stmt n) Gets whether the given statement is a return site of at least one callbooleanisStartPoint(Stmt stmt) protected StmtGraph<?>booleansetOwnerStatement(Stmt u, Body b) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface heros.InterproceduralCFG
getCalleesOfCallAt, getCallersOf
-
Field Details
-
enableExceptions
protected final boolean enableExceptions -
view
-
bodyToStmtGraph
-
methodToParameterRefs
-
methodToCallsFromWithin
-
-
Constructor Details
-
AbstractJimpleBasedICFG
protected AbstractJimpleBasedICFG() -
AbstractJimpleBasedICFG
protected AbstractJimpleBasedICFG(boolean enableExceptions)
-
-
Method Details
-
createStmtToOwnerMap
-
getBodyOf
-
getMethodOf
- Specified by:
getMethodOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getSuccsOf
- Specified by:
getSuccsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getOrCreateStmtGraph
- Specified by:
getOrCreateStmtGraphin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
getOrCreateStmtGraph
-
makeGraph
-
getCallsFromWithinMethod
-
isExitStmt
- Specified by:
isExitStmtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isStartPoint
- Specified by:
isStartPointin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isFallThroughSuccessor
- Specified by:
isFallThroughSuccessorin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isBranchTarget
- Specified by:
isBranchTargetin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getParameterRefs
- Specified by:
getParameterRefsin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
getStartPointsOf
- Specified by:
getStartPointsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
setOwnerStatement
-
isCallStmt
- Specified by:
isCallStmtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
allNonCallStartNodes
- Specified by:
allNonCallStartNodesin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
allNonCallEndNodes
- Specified by:
allNonCallEndNodesin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
getReturnSitesOfCallAt
- Specified by:
getReturnSitesOfCallAtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getCallsFromWithin
- Specified by:
getCallsFromWithinin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
initializeStmtToOwner
-
getPredsOf
Description copied from interface:BiDiInterproceduralCFGreturns the predecessors of a node- Specified by:
getPredsOfin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Specified by:
getPredsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getEndPointsOf
Description copied from interface:BiDiInterproceduralCFGreturns entry points of a method- Specified by:
getEndPointsOfin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Returns:
-
getPredsOfCallAt
Description copied from interface:BiDiInterproceduralCFGreturns predecessors of a call node- Specified by:
getPredsOfCallAtin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Returns:
-
isReturnSite
Description copied from interface:BiDiInterproceduralCFGGets whether the given statement is a return site of at least one call- Specified by:
isReturnSitein interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Parameters:
n- The statement to check- Returns:
- True if the given statement is a return site, otherwise false
-
isReachable
Description copied from interface:BiDiInterproceduralCFGChecks whether the given statement is reachable from the entry point- Specified by:
isReachablein interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - 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
-