public class JvmTaintMemoryLocationBamCpaRun extends JvmMemoryLocationBamCpaRun<SimpleCpa,SetAbstractState<JvmTaintSource>>
JvmMemoryLocationCpa
.Modifier and Type | Class and Description |
---|---|
static class |
JvmTaintMemoryLocationBamCpaRun.Builder
A builder for
JvmTaintMemoryLocationBamCpaRun . |
SequentialCpaRun.PreviousRunDurationReceiver
threshold
inputCpaRun, inputReachedSet, outputReachedSet
abortOperator, cpa
Modifier | Constructor and Description |
---|---|
protected |
JvmTaintMemoryLocationBamCpaRun(JvmCfa cfa,
java.util.Set<? extends JvmTaintSource> taintSources,
MethodSignature mainSignature,
int maxCallStackDepth,
HeapModel heapModel,
SetAbstractState<JvmTaintSource> threshold,
java.util.Collection<? extends JvmTaintSink> taintSinks,
AbortOperator abortOperator,
AbortOperator memoryLocationAbortOperator,
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 traced taint CPA run.
|
protected |
JvmTaintMemoryLocationBamCpaRun(JvmTaintBamCpaRun jvmTaintCpaRun,
SetAbstractState<JvmTaintSource> threshold,
java.util.Collection<? extends JvmTaintSink> taintSinks,
AbortOperator memoryLocationAbortOperator)
Create a traced taint CPA run.
|
Modifier and Type | Method and Description |
---|---|
java.util.Collection<BamLocationDependentJvmMemoryLocation<?>> |
getEndPoints()
Returns endpoints or the extracted traces.
|
java.util.Map<BamLocationDependentJvmMemoryLocation<?>,java.util.List<JvmTaintSink>> |
getEndPointToSinks() |
java.util.List<JvmMemoryLocationAbstractState<?>> |
getInitialStates()
Returns a collection of initial
AbstractState s. |
java.util.Collection<? extends JvmTaintSink> |
getTaintSinks() |
createReachedSet, createWaitlist, getOutputReachedSet
execute, getInputCpaRun
getAbortOperator, getCpa
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
extractLinearTraces, removeDuplicateProgramLocations, traceExtractionIteration
protected JvmTaintMemoryLocationBamCpaRun(JvmTaintBamCpaRun jvmTaintCpaRun, SetAbstractState<JvmTaintSource> threshold, java.util.Collection<? extends JvmTaintSink> taintSinks, AbortOperator memoryLocationAbortOperator)
jvmTaintCpaRun
- an intraprocedural taint CPA runthreshold
- a cut-off thresholdtaintSinks
- a collection of taint sinksmemoryLocationAbortOperator
- an abort operator for trace reconstructionprotected JvmTaintMemoryLocationBamCpaRun(JvmCfa cfa, java.util.Set<? extends JvmTaintSource> taintSources, MethodSignature mainSignature, int maxCallStackDepth, HeapModel heapModel, SetAbstractState<JvmTaintSource> threshold, java.util.Collection<? extends JvmTaintSink> taintSinks, AbortOperator abortOperator, AbortOperator memoryLocationAbortOperator, 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 sourcesmainSignature
- the main signature of the main methodmaxCallStackDepth
- the maximum depth of the call stack analyzed interprocedurally. 0
means intraprocedural analysis. < 0 means no maximum depth.threshold
- a cut-off thresholdtaintSinks
- a collection of taint sinksabortOperator
- an abort operatormemoryLocationAbortOperator
- an abort operator for trace reconstructionreduceHeap
- 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 java.util.Collection<? extends JvmTaintSink> getTaintSinks()
public java.util.Map<BamLocationDependentJvmMemoryLocation<?>,java.util.List<JvmTaintSink>> getEndPointToSinks()
public java.util.List<JvmMemoryLocationAbstractState<?>> getInitialStates()
CpaRun
AbstractState
s.getInitialStates
in class CpaRun<JvmMemoryLocationCpa<SetAbstractState<JvmTaintSource>>,JvmMemoryLocationAbstractState<?>>
public java.util.Collection<BamLocationDependentJvmMemoryLocation<?>> getEndPoints()
TraceExtractor