public class FlowSensitiveAliasStrategy extends AbstractBulkAliasStrategy
manager| 构造器和说明 |
|---|
FlowSensitiveAliasStrategy(InfoflowManager manager,
IInfoflowSolver backwardsSolver) |
| 限定符和类型 | 方法和说明 |
|---|---|
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.
|
void |
injectCallingContext(Abstraction d3,
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, mayAliashasProcessedMethodpublic FlowSensitiveAliasStrategy(InfoflowManager manager, IInfoflowSolver backwardsSolver)
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 d3, IInfoflowSolver fSolver, soot.SootMethod callee, soot.Unit callSite, Abstraction source, Abstraction d1)
IAliasingStrategyd3 - 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 IInfoflowSolver getSolver()
IAliasingStrategypublic void cleanup()
IAliasingStrategyCopyright © 2022 Fraunhofer SIT. All rights reserved.