public class JvmTaintBamCpaRun<OuterAbstractStateT extends AbstractState> extends JvmBamCpaRun<SimpleCpa,SetAbstractState<JvmTaintSource>,OuterAbstractStateT>
JvmTaintCpa
.Modifier and Type | Class and Description |
---|---|
static class |
JvmTaintBamCpaRun.Builder
A builder for
JvmTaintBamCpaRun . |
cfa, heapModel
reduceHeap
abortOperator, cpa
Modifier | Constructor and Description |
---|---|
protected |
JvmTaintBamCpaRun(JvmCfa cfa,
java.util.Set<? extends JvmTaintSource> taintSources,
MethodSignature mainMethodSignature,
int maxCallStackDepth,
HeapModel heapModel,
AbortOperator abortOperator,
boolean reduceHeap,
MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory,
MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> principalHeapMapAbstractStateFactory,
MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory,
MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> followerHeapMapAbstractStateFactory,
MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory,
java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
Create a CPA run.
|
Modifier and Type | Method and Description |
---|---|
ExpandOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> |
createExpandOperator()
Returns the expand operator.
|
SimpleCpa |
createIntraproceduralCPA()
Returns the intraprocedural CPA.
|
ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> |
createReduceOperator()
Returns the reduce operator.
|
java.util.Collection<OuterAbstractStateT> |
getInitialStates()
Returns a collection of initial
AbstractState s. |
MethodSignature |
getMainSignature()
Returns the signature of the main procedure.
|
createReachedSet, getCfa
createCache, createRebuildOperator, getAnalyzedMethods, getCpa, getMaxCallStackDepth
createWaitlist, execute, getAbortOperator
protected JvmTaintBamCpaRun(JvmCfa cfa, java.util.Set<? extends JvmTaintSource> taintSources, MethodSignature mainMethodSignature, int maxCallStackDepth, HeapModel heapModel, AbortOperator abortOperator, boolean reduceHeap, MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> staticFieldMapAbstractStateFactory, MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<Reference>>> principalHeapMapAbstractStateFactory, MapAbstractStateFactory<java.lang.String,SetAbstractState<Reference>> principalHeapNodeMapAbstractStateFactory, MapAbstractStateFactory<Reference,HeapNode<SetAbstractState<JvmTaintSource>>> followerHeapMapAbstractStateFactory, MapAbstractStateFactory<java.lang.String,SetAbstractState<JvmTaintSource>> followerHeapNodeMapAbstractStateFactory, java.util.Map<MethodSignature,JvmTaintTransformer> taintTransformers)
cfa
- a CFAtaintSources
- a set of taint sourcesmainMethodSignature
- the signature of the main methodmaxCallStackDepth
- the maximum depth of the call stack analyzed interprocedurally 0 means
intraprocedural analysis < 0 means no maximum depthheapModel
- a heap model to be usedabortOperator
- an abort operatorreduceHeap
- whether reduction/expansion of the heap state is performed at call/return
sitesprincipalHeapMapAbstractStateFactory
- a map abstract state factory used for constructing
the mapping from references to objects in the principal heap modelprincipalHeapNodeMapAbstractStateFactory
- a map abstract state factory used for
constructing the mapping from fields to values in the principal heap modelfollowerHeapMapAbstractStateFactory
- a map abstract state factory used for constructing
the mapping from references to objects in the follower heap modelfollowerHeapNodeMapAbstractStateFactory
- a map abstract state factory used for
constructing the mapping from fields to values in the follower heap modeltaintTransformers
- a mapping from method signature to a transformer object applied to the
taint state when that method is invokedpublic SimpleCpa createIntraproceduralCPA()
BamCpaRun
createIntraproceduralCPA
in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>
public ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> createReduceOperator()
BamCpaRun
createReduceOperator
in class JvmBamCpaRun<SimpleCpa,SetAbstractState<JvmTaintSource>,OuterAbstractStateT extends AbstractState>
public ExpandOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> createExpandOperator()
BamCpaRun
createExpandOperator
in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>
public MethodSignature getMainSignature()
BamCpaRun
getMainSignature
in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>
public java.util.Collection<OuterAbstractStateT> getInitialStates()
CpaRun
AbstractState
s.getInitialStates
in class CpaRun<BamCpa<JvmCfaNode,JvmCfaEdge,MethodSignature>,OuterAbstractStateT extends AbstractState>