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>>ConfigurableProgramAnalysisconsists of aTransferRelation,MergeOperator,StopOperator, andPrecisionAdjustment.The
TransferRelationspecifies how successor states are computed in theCpaAlgorithm.The
MergeOperatordefines how (and whether) the olderAbstractStateshould be updated with the newly discoveredAbstractState.The
StopOperatordecides whether the successor state should be added to theReachedSetbased on the content of the latter.The
PrecisionAdjustmentselects thePrecisionfor the currently processedAbstractStateconsidering theReachedSetcontent.All CPA components should be side effect free, i.e., not modify their arguments.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull AbortOperatorgetAbortOperator()@NotNull MergeOperator<StateT>getMergeOperator()Returns the merge operator of this CPA.@NotNull PrecisionAdjustmentgetPrecisionAdjustment()Returns the precision adjustment of this CPA.@NotNull StopOperator<StateT>getStopOperator()Returns the stop operator of this CPA.@NotNull TransferRelation<StateT>getTransferRelation()Returns the transfer relation of this CPA.
-
-
-
Method Detail
-
getTransferRelation
@NotNull @NotNull TransferRelation<StateT> getTransferRelation()
Returns the transfer relation of this CPA.
-
getMergeOperator
@NotNull @NotNull MergeOperator<StateT> getMergeOperator()
Returns the merge operator of this CPA.
-
getStopOperator
@NotNull @NotNull StopOperator<StateT> getStopOperator()
Returns the stop operator of this CPA.
-
getPrecisionAdjustment
@NotNull @NotNull PrecisionAdjustment getPrecisionAdjustment()
Returns the precision adjustment of this CPA.
-
getAbortOperator
@NotNull @NotNull AbortOperator getAbortOperator()
-
-