Package proguard.analysis.cpa.interfaces
Interface ConfigurableProgramAnalysis<StateT extends AbstractState<StateT>>
- Type Parameters:
StateT- The type of the analyzed states.
- All Known Implementing Classes:
BamCpa,CpaWithBamOperators,JvmMemoryLocationCpa,JvmTaintCpa,SimpleCpa
public interface ConfigurableProgramAnalysis<StateT extends AbstractState<StateT>>
ConfigurableProgramAnalysis consists of a TransferRelation, MergeOperator, StopOperator, and PrecisionAdjustment.
The TransferRelation specifies how successor states are computed in the CpaAlgorithm.
The MergeOperator defines how (and whether) the older AbstractState should be
updated with the newly discovered AbstractState.
The StopOperator decides whether the successor state should be added to the ReachedSet based on the content of the latter.
The PrecisionAdjustment selects the Precision for the currently processed
AbstractState considering the ReachedSet content.
All CPA components should be side effect free, i.e., not modify their arguments.
-
Method Summary
Modifier and TypeMethodDescription@NotNull AbortOperator@NotNull MergeOperator<StateT>Returns the merge operator of this CPA.@NotNull PrecisionAdjustmentReturns the precision adjustment of this CPA.@NotNull StopOperator<StateT>Returns the stop operator of this CPA.@NotNull TransferRelation<StateT>Returns the transfer relation of this CPA.
-
Method Details
-
getTransferRelation
Returns the transfer relation of this CPA. -
getMergeOperator
Returns the merge operator of this CPA. -
getStopOperator
Returns the stop operator of this CPA. -
getPrecisionAdjustment
Returns the precision adjustment of this CPA. -
getAbortOperator
-