public static class TaintAnalyzer.Builder
extends java.lang.Object
TaintAnalyzer.
Each separate built TaintAnalyzer uses its own BamCache, so different
analyzers won't share results.
| Constructor and Description |
|---|
Builder(JvmCfa cfa,
java.util.Set<? extends JvmTaintSource> taintSources,
java.util.Set<? extends JvmTaintSink> taintSinks) |
| Modifier and Type | Method and Description |
|---|---|
TaintAnalyzer |
build()
Build a
TaintAnalyzer |
TaintAnalyzer.Builder |
setAbortOperator(AbortOperator abortOperator)
Sets the abort operator for premature CPA algorithm termination.
|
TaintAnalyzer.Builder |
setExtraTaintPropagationLocations(java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)
Set a mapping from a call to the set of locations which should get tainted after the call
invocation.
|
TaintAnalyzer.Builder |
setMaxCallStackDepth(int maxCallStackDepth)
Set the max depth call depth of the inter-procedural analysis.
|
TaintAnalyzer.Builder |
setMemoryLocationAbortOperator(AbortOperator memoryLocationAbortOperator)
Sets the abort operator for premature trace reconstruction termination.
|
TaintAnalyzer.Builder |
setTaintTransformers(java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
Set a mapping from method signature to a transformer object applied to the taint state when
that method is invoked.
|
public Builder(JvmCfa cfa, java.util.Set<? extends JvmTaintSource> taintSources, java.util.Set<? extends JvmTaintSink> taintSinks)
public TaintAnalyzer build()
TaintAnalyzerpublic TaintAnalyzer.Builder setMaxCallStackDepth(int maxCallStackDepth)
LibraryMethods are usually not analyzed).
The default value is 10.
maxCallStackDepth - maximum depth of the call stack analyzed inter-procedurally. 0 means
intra-procedural analysis. < 0 means no maximum depth.ValueAnalyzer builder.public TaintAnalyzer.Builder setAbortOperator(AbortOperator abortOperator)
public TaintAnalyzer.Builder setMemoryLocationAbortOperator(AbortOperator memoryLocationAbortOperator)
public TaintAnalyzer.Builder setTaintTransformers(java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
public TaintAnalyzer.Builder setExtraTaintPropagationLocations(java.util.Map<Call,java.util.Set<JvmMemoryLocation>> extraTaintPropagationLocations)