Interface ForwardAnalysis<V extends AbstractValue<V>,S extends Store<S>,T extends ForwardTransferFunction<V,S>>
- Type Parameters:
V
- the abstract value type to be tracked by the analysisS
- the store type used in the analysisT
- the forward transfer function type that is used to approximated runtime behavior
- All Superinterfaces:
Analysis<V,
S, T>
- All Known Implementing Classes:
AccumulationAnalysis
,CalledMethodsAnalysis
,CFAbstractAnalysis
,CFAnalysis
,ForwardAnalysisImpl
,InitializationAnalysis
,KeyForAnalysis
,LockAnalysis
,NullnessNoInitAnalysis
,ResourceLeakAnalysis
public interface ForwardAnalysis<V extends AbstractValue<V>,S extends Store<S>,T extends ForwardTransferFunction<V,S>>
extends Analysis<V,S,T>
This interface defines a forward analysis, given a control flow graph and a forward transfer
function.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.checkerframework.dataflow.analysis.Analysis
Analysis.BeforeOrAfter, Analysis.Direction
-
Method Summary
Modifier and TypeMethodDescriptionList
<org.plumelib.util.IPair<ReturnNode, @Nullable TransferResult<V, S>>> Get stores at return statements.Methods inherited from interface org.checkerframework.dataflow.analysis.Analysis
getDirection, getExceptionalExitStore, getInput, getRegularExitStore, getResult, getTransferFunction, getValue, getValue, isRunning, performAnalysis, performAnalysisBlock, runAnalysisFor
-
Method Details
-
getReturnStatementStores
List<org.plumelib.util.IPair<ReturnNode,@Nullable TransferResult<V, getReturnStatementStores()S>>> Get stores at return statements. These stores are transfer results at return node. Thus for a forward analysis, these stores contain the analyzed flow information from entry nodes to return nodes.- Returns:
- the transfer results for each return node in the CFG
-