Class BackwardAnalysisImpl<V extends AbstractValue<V>,S extends Store<S>,T extends BackwardTransferFunction<V,S>>

java.lang.Object
org.checkerframework.dataflow.analysis.AbstractAnalysis<V,S,T>
org.checkerframework.dataflow.analysis.BackwardAnalysisImpl<V,S,T>
Type Parameters:
V - the abstract value type to be tracked by the analysis
S - the store type used in the analysis
T - the transfer function type that is used to approximate runtime behavior
All Implemented Interfaces:
Analysis<V,S,T>, BackwardAnalysis<V,S,T>

public class BackwardAnalysisImpl<V extends AbstractValue<V>,S extends Store<S>,T extends BackwardTransferFunction<V,S>> extends AbstractAnalysis<V,S,T> implements BackwardAnalysis<V,S,T>
An implementation of a backward analysis to solve a org.checkerframework.dataflow problem given a control flow graph and a backward transfer function.
  • Field Details

    • outStores

      protected final IdentityHashMap<Block,S extends Store<S>> outStores
      Out stores after every basic block (assumed to be 'no information' if not present).
    • exceptionStores

      protected final IdentityHashMap<ExceptionBlock,S extends Store<S>> exceptionStores
      Exception store of an exception block, propagated by exceptional successors of its exception block, and merged with the normal TransferResult.
    • storeAtEntry

      protected @Nullable S extends Store<S> storeAtEntry
      The store right before the entry block.
  • Constructor Details

    • BackwardAnalysisImpl

      public BackwardAnalysisImpl()
      Construct an object that can perform a org.checkerframework.dataflow backward analysis over a control flow graph. When using this constructor, the transfer function is set later by the subclass, e.g., org.checkerframework.framework.flow.CFAbstractAnalysis.
    • BackwardAnalysisImpl

      public BackwardAnalysisImpl(T transferFunction)
      Construct an object that can perform a org.checkerframework.dataflow backward analysis over a control flow graph given a transfer function.
      Parameters:
      transferFunction - the transfer function
  • Method Details