Package proguard.analysis.cpa.interfaces
Interface ConfigurableProgramAnalysis
-
- All Known Implementing Classes:
BamCpa
,CpaWithBamOperators
,JvmMemoryLocationCpa
,JvmTaintCpa
,SimpleCpa
public interface ConfigurableProgramAnalysis
ConfigurableProgramAnalysis
consists ofAbstractDomain
,TransferRelation
,MergeOperator
,StopOperator
, andPrecisionAdjustment
.The
AbstractDomain
is a join-semilattice ofAbstractState
s. It defines the abstraction level of the analysis.The
TransferRelation
specifies how successor states are computed in theCpaAlgorithm
.The
MergeOperator
defines how (and whether) the olderAbstractState
should be updated with the newly discoveredAbstractState
.The
StopOperator
decides whether the successor state should be added to theReachedSet
based on the content of the latter.The
PrecisionAdjustment
selects thePrecision
for the currently processedAbstractState
considering theReachedSet
content.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 AbstractDomain
getAbstractDomain()
Returns the abstract domain of this CPA.MergeOperator
getMergeOperator()
Returns the merge operator of this CPA.PrecisionAdjustment
getPrecisionAdjustment()
Returns the precision adjustment of this CPA.StopOperator
getStopOperator()
Returns the stop operator of this CPA.TransferRelation
getTransferRelation()
Returns the transfer relation of this CPA.
-
-
-
Method Detail
-
getAbstractDomain
AbstractDomain getAbstractDomain()
Returns the abstract domain of this CPA.
-
getTransferRelation
TransferRelation getTransferRelation()
Returns the transfer relation of this CPA.
-
getMergeOperator
MergeOperator getMergeOperator()
Returns the merge operator of this CPA.
-
getStopOperator
StopOperator getStopOperator()
Returns the stop operator of this CPA.
-
getPrecisionAdjustment
PrecisionAdjustment getPrecisionAdjustment()
Returns the precision adjustment of this CPA.
-
-