Class JvmTaintMemoryLocationBamCpaRun.Builder
- java.lang.Object
-
- proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun.Builder
-
- Enclosing class:
- JvmTaintMemoryLocationBamCpaRun
public static class JvmTaintMemoryLocationBamCpaRun.Builder extends java.lang.Object
A builder forJvmTaintMemoryLocationBamCpaRun
. It assumes either the best performing parameters or the most basic one, if there is no absolute benefit.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JvmTaintMemoryLocationBamCpaRun
build()
Returns theJvmTaintMemoryLocationBamCpaRun
for given parameters.JvmTaintMemoryLocationBamCpaRun.Builder
setAbortOperator(AbortOperator abortOperator)
Sets the abort operator for premature CPA algorithm termination.JvmTaintMemoryLocationBamCpaRun.Builder
setCfa(JvmCfa cfa)
Sets the control flow automaton.JvmTaintMemoryLocationBamCpaRun.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.JvmTaintMemoryLocationBamCpaRun.Builder
setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from fields to values in the follower heap model.JvmTaintMemoryLocationBamCpaRun.Builder
setHeapModel(HeapModel heapModel)
Sets the heap model.JvmTaintMemoryLocationBamCpaRun.Builder
setMainSignature(MethodSignature mainSignature)
Sets the signature of the method the analysis starts from.JvmTaintMemoryLocationBamCpaRun.Builder
setMaxCallStackDepth(int maxCallStackDepth)
Sets the call stack limit for the interprocedural analysis.JvmTaintMemoryLocationBamCpaRun.Builder
setMemoryLocationAbortOperator(AbortOperator memoryLocationAbortOperator)
Sets the abort operator for premature trace reconstruction termination.JvmTaintMemoryLocationBamCpaRun.Builder
setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from fields to values in the principal heap model.JvmTaintMemoryLocationBamCpaRun.Builder
setReduceHeap(boolean reduceHeap)
Sets whether the heap should be reduced before method calls.JvmTaintMemoryLocationBamCpaRun.Builder
setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory)
Sets the static field map abstract state factory.JvmTaintMemoryLocationBamCpaRun.Builder
setTaintSinks(java.util.Collection<? extends JvmTaintSink> taintSinks)
Sets the taint sinks.JvmTaintMemoryLocationBamCpaRun.Builder
setTaintSources(java.util.Set<? extends JvmTaintSource> taintSources)
Sets the taint sources.JvmTaintMemoryLocationBamCpaRun.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.JvmTaintMemoryLocationBamCpaRun.Builder
setThreshold(SetAbstractState<JvmTaintSource> threshold)
Sets the trace reconstruction threshold.
-
-
-
Method Detail
-
build
public JvmTaintMemoryLocationBamCpaRun build()
Returns theJvmTaintMemoryLocationBamCpaRun
for given parameters.
-
setCfa
public JvmTaintMemoryLocationBamCpaRun.Builder setCfa(JvmCfa cfa)
Sets the control flow automaton.
-
setTaintSources
public JvmTaintMemoryLocationBamCpaRun.Builder setTaintSources(java.util.Set<? extends JvmTaintSource> taintSources)
Sets the taint sources.
-
setMainSignature
public JvmTaintMemoryLocationBamCpaRun.Builder setMainSignature(MethodSignature mainSignature)
Sets the signature of the method the analysis starts from.
-
setMaxCallStackDepth
public JvmTaintMemoryLocationBamCpaRun.Builder setMaxCallStackDepth(int maxCallStackDepth)
Sets the call stack limit for the interprocedural analysis.
-
setHeapModel
public JvmTaintMemoryLocationBamCpaRun.Builder setHeapModel(HeapModel heapModel)
Sets the heap model.
-
setThreshold
public JvmTaintMemoryLocationBamCpaRun.Builder setThreshold(SetAbstractState<JvmTaintSource> threshold)
Sets the trace reconstruction threshold.
-
setTaintSinks
public JvmTaintMemoryLocationBamCpaRun.Builder setTaintSinks(java.util.Collection<? extends JvmTaintSink> taintSinks)
Sets the taint sinks.
-
setAbortOperator
public JvmTaintMemoryLocationBamCpaRun.Builder setAbortOperator(AbortOperator abortOperator)
Sets the abort operator for premature CPA algorithm termination.
-
setMemoryLocationAbortOperator
public JvmTaintMemoryLocationBamCpaRun.Builder setMemoryLocationAbortOperator(AbortOperator memoryLocationAbortOperator)
Sets the abort operator for premature trace reconstruction termination.
-
setReduceHeap
public JvmTaintMemoryLocationBamCpaRun.Builder setReduceHeap(boolean reduceHeap)
Sets whether the heap should be reduced before method calls.
-
setStaticFieldMapAbstractStateFactory
public JvmTaintMemoryLocationBamCpaRun.Builder setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory)
Sets the static field map abstract state factory.
-
setPrincipalHeapNodeMapAbstractStateFactory
public JvmTaintMemoryLocationBamCpaRun.Builder setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from fields to values in the principal heap model.
-
setFollowerHeapNodeMapAbstractStateFactory
public JvmTaintMemoryLocationBamCpaRun.Builder setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from fields to values in the follower heap model.
-
setTaintTransformers
public JvmTaintMemoryLocationBamCpaRun.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.
-
setExtraTaintPropagationLocations
public JvmTaintMemoryLocationBamCpaRun.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.
-
-