public static class JvmTaintBamCpaRun.Builder extends JvmBamCpaRun.Builder
JvmTaintBamCpaRun
. It assumes either the best performing parameters or
the most basic one, if there is no absolute benefit.Modifier and Type | Field and Description |
---|---|
protected MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> |
followerHeapMapAbstractStateFactory |
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> |
followerHeapNodeMapAbstractStateFactory |
protected MethodSignature |
mainSignature |
protected MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> |
principalHeapMapAbstractStateFactory |
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> |
principalHeapNodeMapAbstractStateFactory |
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> |
staticFieldMapAbstractStateFactory |
protected java.util.Set<? extends JvmTaintSource> |
taintSources |
protected java.util.Map<MethodSignature,JvmTaintTransformer> |
taintTransformers |
cfa, heapModel
abortOperator, maxCallStackDepth, reduceHeap
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
JvmTaintBamCpaRun<?> |
build()
Returns the
JvmTaintBamCpaRun for given parameters. |
JvmTaintBamCpaRun.Builder |
setAbortOperator(AbortOperator abortOperator)
Sets the abort operator for premature CPA algorithm termination.
|
JvmTaintBamCpaRun.Builder |
setCfa(JvmCfa cfa)
Sets the control flow automaton.
|
JvmTaintBamCpaRun.Builder |
setFollowerHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> followerHeapMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from references to
objects in the follower heap model.
|
JvmTaintBamCpaRun.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.
|
JvmTaintBamCpaRun.Builder |
setHeapModel(HeapModel heapModel)
Sets the heap model.
|
JvmTaintBamCpaRun.Builder |
setMainSignature(MethodSignature mainSignature)
Sets the signature of the method the analysis starts from.
|
JvmTaintBamCpaRun.Builder |
setMaxCallStackDepth(int maxCallStackDepth)
Sets the call stack limit for the interprocedural analysis.
|
JvmTaintBamCpaRun.Builder |
setPrincipalHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> principalHeapMapAbstractStateFactory)
Sets the map abstract state factory used for constructing the mapping from references to
objects in the principal heap model.
|
JvmTaintBamCpaRun.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.
|
JvmTaintBamCpaRun.Builder |
setReduceHeap(boolean reduceHeap)
Sets whether the heap should be reduced before method calls.
|
JvmTaintBamCpaRun.Builder |
setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory)
Sets the static field map abstract state factory.
|
JvmTaintBamCpaRun.Builder |
setTaintSources(java.util.Set<? extends JvmTaintSource> taintSources)
Sets the taint sources.
|
JvmTaintBamCpaRun.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.
|
protected MethodSignature mainSignature
protected java.util.Set<? extends JvmTaintSource> taintSources
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory
protected MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> principalHeapMapAbstractStateFactory
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory
protected MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> followerHeapMapAbstractStateFactory
protected MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory
protected java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers
public JvmTaintBamCpaRun<?> build()
JvmTaintBamCpaRun
for given parameters.build
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setMaxCallStackDepth(int maxCallStackDepth)
BamCpaRun.Builder
setMaxCallStackDepth
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setAbortOperator(AbortOperator abortOperator)
BamCpaRun.Builder
setAbortOperator
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setReduceHeap(boolean reduceHeap)
BamCpaRun.Builder
setReduceHeap
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setCfa(JvmCfa cfa)
JvmBamCpaRun.Builder
setCfa
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setHeapModel(HeapModel heapModel)
JvmBamCpaRun.Builder
setHeapModel
in class JvmBamCpaRun.Builder
public JvmTaintBamCpaRun.Builder setTaintSources(java.util.Set<? extends JvmTaintSource> taintSources)
public JvmTaintBamCpaRun.Builder setMainSignature(MethodSignature mainSignature)
public JvmTaintBamCpaRun.Builder setStaticFieldMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory)
public JvmTaintBamCpaRun.Builder setPrincipalHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> principalHeapMapAbstractStateFactory)
public JvmTaintBamCpaRun.Builder setPrincipalHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory)
public JvmTaintBamCpaRun.Builder setFollowerHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> followerHeapMapAbstractStateFactory)
public JvmTaintBamCpaRun.Builder setFollowerHeapNodeMapAbstractStateFactory(MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory)
public JvmTaintBamCpaRun.Builder setTaintTransformers(java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)