Package proguard.analysis.cpa.algorithms
Class CpaAlgorithm
- java.lang.Object
-
- proguard.analysis.cpa.algorithms.CpaAlgorithm
-
-
Constructor Summary
Constructors Constructor Description CpaAlgorithm(ConfigurableProgramAnalysis cpa)
Create an algorithm to run the specified CPA.CpaAlgorithm(TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator, PrecisionAdjustment precisionAdjustment)
Create a CPA algorithm from CPA components.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run(ReachedSet reachedSet, Waitlist waitlist, AbortOperator abortOperator)
Algorithm from the paper is parametrized with the reached set and the waitlist.
-
-
-
Constructor Detail
-
CpaAlgorithm
public CpaAlgorithm(ConfigurableProgramAnalysis cpa)
Create an algorithm to run the specified CPA.- Parameters:
cpa
- a CPA instance wrapping the transfer relation, the merge, and the stop operator, and the precision adjustment
-
CpaAlgorithm
public CpaAlgorithm(TransferRelation transferRelation, MergeOperator mergeOperator, StopOperator stopOperator, PrecisionAdjustment precisionAdjustment)
Create a CPA algorithm from CPA components.- Parameters:
transferRelation
- 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
-
run
public void run(ReachedSet reachedSet, Waitlist waitlist, AbortOperator abortOperator)
Algorithm from the paper is parametrized with the reached set and the waitlist. Thus one can select the start point of the algorithm (e.g., for resuming the analysis). TheabortOperator
determines whether the analysis should end prematurely.
-
-