Interface TraceExtractor<ContentT extends AbstractState<ContentT>>
-
- Type Parameters:
ContentT
- The content of the jvm states for the traced analysis. For example, this can be aSetAbstractState
of taints for taint analysis or aValueAbstractState
for 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 void
traceExtractionIteration(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)
-
-