public interface IInfoflowCFG
extends soot.jimple.toolkits.ide.icfg.BiDiInterproceduralCFG<soot.Unit,soot.SootMethod>
| 限定符和类型 | 接口和说明 |
|---|---|
static class |
IInfoflowCFG.UnitContainer
Abstraction of a postdominator.
|
| 限定符和类型 | 方法和说明 |
|---|---|
Collection<soot.SootMethod> |
getOrdinaryCalleesOfCallAt(soot.Unit u)
Gets all ordinary callees of the call at call site u, i.e., those that are
not \
|
IInfoflowCFG.UnitContainer |
getPostdominatorOf(soot.Unit u)
Gets the postdominator of the given unit.
|
boolean |
hasSideEffects(soot.SootMethod method)
Checks whether the given method or any of its transitive callees has side
effects
|
boolean |
isExceptionalEdgeBetween(soot.Unit u1,
soot.Unit u2)
Gets whether the two given units are connected by an exceptional control flow
edge
|
boolean |
isExecutorExecute(soot.jimple.InvokeExpr ie,
soot.SootMethod dest)
Checks whether the given call is a call to Executor.execute() or
AccessController.doPrivileged() and whether the callee matches the expected
method signature
|
boolean |
isReflectiveCallSite(soot.jimple.InvokeExpr iexpr)
Checks whether the given call site is a reflective method call
|
boolean |
isReflectiveCallSite(soot.Unit u)
Checks whether the given call site is a reflective method call
|
boolean |
isStaticFieldRead(soot.SootMethod method,
soot.SootField variable)
Checks whether the given static field is read inside the given method or one
of its transitive callees.
|
boolean |
isStaticFieldUsed(soot.SootMethod method,
soot.SootField variable)
Checks whether the given static field is used (read or written) inside the
given method or one of its transitive callees.
|
boolean |
methodReadsValue(soot.SootMethod m,
soot.Value v)
Checks whether the given method reads the given value
|
boolean |
methodWritesValue(soot.SootMethod m,
soot.Value v)
Checks whether the given method writes the given value
|
void |
notifyMethodChanged(soot.SootMethod m)
Re-initializes the mapping betwween statements and owning methods after a
method has changed.
|
void |
purge()
Clears all caches and temporary data from memory.
|
IInfoflowCFG.UnitContainer getPostdominatorOf(soot.Unit u)
u - The unit for which to get the postdominator.boolean isStaticFieldRead(soot.SootMethod method,
soot.SootField variable)
method - The method to checkvariable - The static field to checkboolean isStaticFieldUsed(soot.SootMethod method,
soot.SootField variable)
method - The method to checkvariable - The static field to checkboolean hasSideEffects(soot.SootMethod method)
method - The method to checkvoid notifyMethodChanged(soot.SootMethod m)
m - The method for which to re-initialize the mappingboolean methodReadsValue(soot.SootMethod m,
soot.Value v)
m - The method to checkv - The value to checkboolean methodWritesValue(soot.SootMethod m,
soot.Value v)
m - The method to checkv - The value to checkboolean isExceptionalEdgeBetween(soot.Unit u1,
soot.Unit u2)
u1 - The first unitu2 - The second unitCollection<soot.SootMethod> getOrdinaryCalleesOfCallAt(soot.Unit u)
u - The call siteboolean isExecutorExecute(soot.jimple.InvokeExpr ie,
soot.SootMethod dest)
ie - The invocation expression to checkdest - The callee of the given invocation expressionboolean isReflectiveCallSite(soot.Unit u)
u - The call site to checkboolean isReflectiveCallSite(soot.jimple.InvokeExpr iexpr)
iexpr - The call site to checkvoid purge()
Copyright © 2022 Fraunhofer SIT. All rights reserved.