Package proguard.analysis.cpa.defaults
Class SimpleCpa
- java.lang.Object
-
- proguard.analysis.cpa.defaults.SimpleCpa
-
- All Implemented Interfaces:
ConfigurableProgramAnalysis
- Direct Known Subclasses:
CpaWithBamOperators
,JvmMemoryLocationCpa
,JvmTaintCpa
public class SimpleCpa extends java.lang.Object implements ConfigurableProgramAnalysis
TheSimpleCpa
is aConfigurableProgramAnalysis
wrapping its components.
-
-
Constructor Summary
Constructors Constructor Description SimpleCpa(AbstractDomain abstractDomain, TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator)
Create a simple CPA with a static precision adjustment.SimpleCpa(AbstractDomain abstractDomain, TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator, PrecisionAdjustment precisionAdjustment)
Create a simple CPA fromConfigurableProgramAnalysis
components.
-
Method Summary
All Methods Instance Methods Concrete 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.
-
-
-
Constructor Detail
-
SimpleCpa
public SimpleCpa(AbstractDomain abstractDomain, TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator)
Create a simple CPA with a static precision adjustment.- Parameters:
abstractDomain
- a join-semilattice ofAbstractState
s defining the abstraction level of the analysistransferRelation
- a transfer relation specifying how successor states are computedmergeOperator
- a merge operator defining how (and whether) the olderAbstractState
should be updated with the newly discoveredAbstractState
stopOperator
- a stop operator deciding whether the successor state should be added to theReachedSet
based on the content of the latter
-
SimpleCpa
public SimpleCpa(AbstractDomain abstractDomain, TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator, PrecisionAdjustment precisionAdjustment)
Create a simple CPA fromConfigurableProgramAnalysis
components.- Parameters:
abstractDomain
- a join-semilattice ofAbstractState
s defining the abstraction level of the analysistransferRelation
- a transfer relation specifying how successor states are computedmergeOperator
- a merge operator defining how (and whether) the olderAbstractState
should be updated with the newly discoveredAbstractState
stopOperator
- a stop operator deciding whether the successor state should be added to theReachedSet
based on the content of the latterprecisionAdjustment
- a precision adjustment selecting thePrecision
for the currently processedAbstractState
considering theReachedSet
content
-
-
Method Detail
-
getAbstractDomain
public AbstractDomain getAbstractDomain()
Description copied from interface:ConfigurableProgramAnalysis
Returns the abstract domain of this CPA.- Specified by:
getAbstractDomain
in interfaceConfigurableProgramAnalysis
-
getTransferRelation
public TransferRelation getTransferRelation()
Description copied from interface:ConfigurableProgramAnalysis
Returns the transfer relation of this CPA.- Specified by:
getTransferRelation
in interfaceConfigurableProgramAnalysis
-
getMergeOperator
public MergeOperator getMergeOperator()
Description copied from interface:ConfigurableProgramAnalysis
Returns the merge operator of this CPA.- Specified by:
getMergeOperator
in interfaceConfigurableProgramAnalysis
-
getStopOperator
public StopOperator getStopOperator()
Description copied from interface:ConfigurableProgramAnalysis
Returns the stop operator of this CPA.- Specified by:
getStopOperator
in interfaceConfigurableProgramAnalysis
-
getPrecisionAdjustment
public PrecisionAdjustment getPrecisionAdjustment()
Description copied from interface:ConfigurableProgramAnalysis
Returns the precision adjustment of this CPA.- Specified by:
getPrecisionAdjustment
in interfaceConfigurableProgramAnalysis
-
-