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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.Set<java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>>>extractLinearTraces()Returns a set of linear witness traces.java.util.Collection<BamLocationDependentJvmMemoryLocation<ContentT>>getEndPoints()Returns endpoints or the extracted traces.ProgramLocationDependentReachedSet<JvmMemoryLocationAbstractState<ContentT>>getTraceReconstructionReachedSet()Returns the reached set of a trace extracting memory location CPA.default java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>>removeDuplicateProgramLocations(java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>> trace)default voidtraceExtractionIteration(java.util.Set<java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>>> result, java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>> currentTrace)
-
-
-
Method Detail
-
extractLinearTraces
default java.util.Set<java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>>> extractLinearTraces()
Returns a set of linear witness traces.
-
getEndPoints
java.util.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(java.util.Set<java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>>> result, java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>> currentTrace)
-
removeDuplicateProgramLocations
default java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>> removeDuplicateProgramLocations(java.util.List<BamLocationDependentJvmMemoryLocation<ContentT>> trace)
-
-