public class InterproceduralConstantValuePropagator
extends soot.SceneTransformer
| 限定符和类型 | 字段和说明 |
|---|---|
protected soot.SootClass |
exceptionClass |
protected Map<soot.SootClass,soot.SootMethod> |
exceptionThrowers |
protected Map<soot.SootMethod,Boolean> |
methodFieldReads |
protected Map<soot.SootMethod,Boolean> |
methodSideEffects |
protected Map<soot.SootMethod,Boolean> |
methodSinks |
| 构造器和说明 |
|---|
InterproceduralConstantValuePropagator(InfoflowManager manager)
Creates a new instance of the
InterproceduralConstantValuePropagator
class |
InterproceduralConstantValuePropagator(InfoflowManager manager,
Collection<soot.SootMethod> excludedMethods,
ISourceSinkManager sourceSinkManager,
ITaintPropagationWrapper taintWrapper)
Creates a new instance of the
InterproceduralConstantValuePropagator
class |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
internalTransform(String phaseName,
Map<String,String> options) |
void |
setExcludeSystemClasses(boolean excludeSystemClasses)
Sets whether methods in system classes shall be excluded from constraint
propagation
|
void |
setRemoveSideEffectFreeMethods(boolean removeSideEffectFreeMethods)
Sets whether side-effect free methods that do not call sinks shall be removed
|
protected soot.SootClass exceptionClass
protected final Map<soot.SootClass,soot.SootMethod> exceptionThrowers
public InterproceduralConstantValuePropagator(InfoflowManager manager)
InterproceduralConstantValuePropagator
classmanager - The data flow manager for interacting with the solverpublic InterproceduralConstantValuePropagator(InfoflowManager manager, Collection<soot.SootMethod> excludedMethods, ISourceSinkManager sourceSinkManager, ITaintPropagationWrapper taintWrapper)
InterproceduralConstantValuePropagator
classmanager - The data flow manager for interacting with the
solverexcludedMethods - The methods that shall be excluded. If one of these
methods calls another method with a constant
argument, this argument will not be propagated into
the callee.sourceSinkManager - The SourceSinkManager to be used for not propagating
constants out of source methodstaintWrapper - The taint wrapper to be used for not breaking dummy
values that will later be replaced by artificial
taintspublic void setRemoveSideEffectFreeMethods(boolean removeSideEffectFreeMethods)
removeSideEffectFreeMethods - The if side-effect free methods that do
not call sinks shall be removed, otherwise
falsepublic void setExcludeSystemClasses(boolean excludeSystemClasses)
excludeSystemClasses - True if methods in system classes shall be
excluded from constraint propagation, otherwise
falseCopyright © 2022 Fraunhofer SIT. All rights reserved.