public class ImplicitFlowAliasStrategy extends AbstractBulkAliasStrategy
| 限定符和类型 | 字段和说明 |
|---|---|
protected com.google.common.cache.LoadingCache<soot.SootMethod,Map<AccessPath,Set<AccessPath>>> |
methodToAliases |
manager| 构造器和说明 |
|---|
ImplicitFlowAliasStrategy(InfoflowManager manager) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
cleanup()
Performs a clean up, i.e., removes all generated data from memory
|
void |
computeAliasTaints(Abstraction d1,
soot.jimple.Stmt src,
soot.Value targetValue,
Set<Abstraction> taintSet,
soot.SootMethod method,
Abstraction newAbs)
Computes the taints for the aliases of a given tainted variable
|
IInfoflowSolver |
getSolver()
If this aliasing strategy uses an additional IFDS solver, it is returned
by this method.
|
boolean |
hasProcessedMethod(soot.SootMethod method)
Checks whether this aliasing strategy has already computed aliases in the
given method or not.
|
void |
injectCallingContext(Abstraction abs,
IInfoflowSolver fSolver,
soot.SootMethod callee,
soot.Unit callSite,
Abstraction source,
Abstraction d1)
Notifies the aliasing strategy that a method has been called in the
taint analysis.
|
boolean |
isFlowSensitive()
Gets whether this aliasing strategy is flow sensitive
|
boolean |
requiresAnalysisOnReturn()
Gets whether this algorithm requires the analysis to be triggered again
when returning from a callee.
|
isInteractive, isLazyAnalysis, mayAliasprotected final com.google.common.cache.LoadingCache<soot.SootMethod,Map<AccessPath,Set<AccessPath>>> methodToAliases
public ImplicitFlowAliasStrategy(InfoflowManager manager)
public void computeAliasTaints(Abstraction d1, soot.jimple.Stmt src, soot.Value targetValue, Set<Abstraction> taintSet, soot.SootMethod method, Abstraction newAbs)
IAliasingStrategyd1 - The context in which the variable has been taintedsrc - The statement that tainted the variabletargetValue - The target value which has been taintedtaintSet - The set to which all generated alias taints shall be
addedmethod - The method containing srcnewAbs - The newly generated abstraction for the variable taintpublic void injectCallingContext(Abstraction abs, IInfoflowSolver fSolver, soot.SootMethod callee, soot.Unit callSite, Abstraction source, Abstraction d1)
IAliasingStrategyabs - The abstraction on the callee's start unitfSolver - The forward solver propagating the taintscallee - The calleecallSite - The call sitesource - The abstraction at the call sited1 - The abstraction at the caller method's entry pointpublic boolean isFlowSensitive()
IAliasingStrategypublic boolean requiresAnalysisOnReturn()
IAliasingStrategypublic boolean hasProcessedMethod(soot.SootMethod method)
IAliasingStrategyhasProcessedMethod 在接口中 IAliasingStrategyhasProcessedMethod 在类中 AbstractAliasStrategymethod - The method to checkpublic IInfoflowSolver getSolver()
IAliasingStrategypublic void cleanup()
IAliasingStrategyCopyright © 2022 Fraunhofer SIT. All rights reserved.