public class NullAliasStrategy extends Object implements IAliasingStrategy
| 构造器和说明 |
|---|
NullAliasStrategy() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 |
isInteractive()
Gets whether this aliasing strategy is interactive, i.e. computes aliases
on demand.
|
boolean |
isLazyAnalysis()
Gets whether this analysis is lazy, i.e., needs all taints to be
propagated into all methods, even if the respective access path is not
even visible inside the callee (but an alias may be visible).
|
boolean |
mayAlias(AccessPath ap1,
AccessPath ap2)
Gets whether the two given access path may alias
|
boolean |
requiresAnalysisOnReturn()
Gets whether this algorithm requires the analysis to be triggered again
when returning from a callee.
|
public void computeAliasTaints(Abstraction d1, soot.jimple.Stmt src, soot.Value targetValue, Set<Abstraction> taintSet, soot.SootMethod method, Abstraction newAbs)
IAliasingStrategycomputeAliasTaints 在接口中 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 boolean isInteractive()
IAliasingStrategyisInteractive 在接口中 IAliasingStrategypublic boolean mayAlias(AccessPath ap1, AccessPath ap2)
IAliasingStrategymayAlias 在接口中 IAliasingStrategyap1 - The first access pathap2 - The second access pathpublic void injectCallingContext(Abstraction abs, IInfoflowSolver fSolver, soot.SootMethod callee, soot.Unit callSite, Abstraction source, Abstraction d1)
IAliasingStrategyinjectCallingContext 在接口中 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()
IAliasingStrategyisFlowSensitive 在接口中 IAliasingStrategypublic boolean requiresAnalysisOnReturn()
IAliasingStrategyrequiresAnalysisOnReturn 在接口中 IAliasingStrategypublic boolean hasProcessedMethod(soot.SootMethod method)
IAliasingStrategyhasProcessedMethod 在接口中 IAliasingStrategymethod - The method to checkpublic boolean isLazyAnalysis()
IAliasingStrategyisLazyAnalysis 在接口中 IAliasingStrategypublic IInfoflowSolver getSolver()
IAliasingStrategygetSolver 在接口中 IAliasingStrategypublic void cleanup()
IAliasingStrategycleanup 在接口中 IAliasingStrategyCopyright © 2022 Fraunhofer SIT. All rights reserved.