Interface TraceExtractor<ContentT extends AbstractState<ContentT>>
- Type Parameters:
ContentT- The content of the jvm states for the traced analysis. For example, this can be aSetAbstractStateof taints for taint analysis or aValueAbstractStatefor value analysis.
public interface TraceExtractor<ContentT extends AbstractState<ContentT>>
This interface contains helper methods for producing witness traces.
-
Method Summary
Modifier and TypeMethodDescriptiondefault Set<List<BamLocationDependentJvmMemoryLocation<ContentT>>>Returns a set of linear witness traces.Returns endpoints or the extracted traces.Returns the reached set of a trace extracting memory location CPA.default voidtraceExtractionIteration(Set<List<BamLocationDependentJvmMemoryLocation<ContentT>>> result, List<BamLocationDependentJvmMemoryLocation<ContentT>> currentTrace)
-
Method Details
-
extractLinearTraces
Returns a set of linear witness traces. -
getEndPoints
Collection<BamLocationDependentJvmMemoryLocation<ContentT>> getEndPoints()Returns endpoints or the extracted traces. Its output should be used for constructing initial states for memory location CPAs. -
getTraceReconstructionReachedSet
ProgramLocationDependentReachedSet<JvmMemoryLocationAbstractState<ContentT>> getTraceReconstructionReachedSet()Returns the reached set of a trace extracting memory location CPA. -
traceExtractionIteration
default void traceExtractionIteration(Set<List<BamLocationDependentJvmMemoryLocation<ContentT>>> result, List<BamLocationDependentJvmMemoryLocation<ContentT>> currentTrace) -
removeDuplicateProgramLocations
default List<BamLocationDependentJvmMemoryLocation<ContentT>> removeDuplicateProgramLocations(List<BamLocationDependentJvmMemoryLocation<ContentT>> trace)
-