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, heapModelreduceHeapabortOperator, 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)
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
AbstractStates. |
MethodSignature |
getMainSignature()
Returns the signature of the main procedure.
|
createReachedSet, getCfacreateCache, createRebuildOperator, getAnalyzedMethods, getCpa, getMaxCallStackDepthcreateWaitlist, execute, getAbortOperatorprotected 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)
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 modelpublic SimpleCpa createIntraproceduralCPA()
BamCpaRuncreateIntraproceduralCPA in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>public ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> createReduceOperator()
BamCpaRuncreateReduceOperator in class JvmBamCpaRun<SimpleCpa,SetAbstractState<JvmTaintSource>,OuterAbstractStateT extends AbstractState>public ExpandOperator<JvmCfaNode,JvmCfaEdge,MethodSignature> createExpandOperator()
BamCpaRuncreateExpandOperator in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>public MethodSignature getMainSignature()
BamCpaRungetMainSignature in class BamCpaRun<SimpleCpa,OuterAbstractStateT extends AbstractState,JvmCfaNode,JvmCfaEdge,MethodSignature>public java.util.Collection<OuterAbstractStateT> getInitialStates()
CpaRunAbstractStates.getInitialStates in class CpaRun<BamCpa<JvmCfaNode,JvmCfaEdge,MethodSignature>,OuterAbstractStateT extends AbstractState>