public interface ConfigurableProgramAnalysis
ConfigurableProgramAnalysis
consists of AbstractDomain
, TransferRelation
,
MergeOperator
, StopOperator
, and PrecisionAdjustment
.
The AbstractDomain
is a join-semilattice of AbstractState
s. It defines the
abstraction level of the analysis.
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.
Modifier and Type | Method and 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.
|
AbstractDomain getAbstractDomain()
TransferRelation getTransferRelation()
MergeOperator getMergeOperator()
StopOperator getStopOperator()
PrecisionAdjustment getPrecisionAdjustment()