Class CpaAlgorithm<StateT extends AbstractState<StateT>>

java.lang.Object
proguard.analysis.cpa.algorithms.CpaAlgorithm<StateT>
Type Parameters:
StateT - The type of the analyzed states.

public class CpaAlgorithm<StateT extends AbstractState<StateT>> extends Object
This is the CPA+ algorithm. The algorithm computes the set of reached states based on the initial content of the waitlist.
  • Constructor Details

    • CpaAlgorithm

      public CpaAlgorithm(ConfigurableProgramAnalysis<StateT> 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
  • Method Details

    • run

      public void run(ReachedSet<StateT> reachedSet, Waitlist<StateT> waitlist)
      Launches the algorithm updating the reachedSet and the waitlist. A proper selection of parameters allows resuming the algorithm from a saved state.