Package it.unive.lisa.interprocedural
Class WorstCasePolicy
- java.lang.Object
-
- it.unive.lisa.interprocedural.WorstCasePolicy
-
- All Implemented Interfaces:
OpenCallPolicy
public class WorstCasePolicy extends java.lang.Object implements OpenCallPolicy
A worst-caseOpenCallPolicy
, where the whole analysis state becomes top and all information is lost. The return value, if any, is stored in the call's meta variable.
-
-
Field Summary
Fields Modifier and Type Field Description static WorstCasePolicy
INSTANCE
The singleton instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <A extends AbstractState<A>>
AnalysisState<A>apply(OpenCall call, AnalysisState<A> entryState, ExpressionSet[] params)
Applies the policy to the given open call.
-
-
-
Field Detail
-
INSTANCE
public static final WorstCasePolicy INSTANCE
The singleton instance of this class.
-
-
Method Detail
-
apply
public <A extends AbstractState<A>> AnalysisState<A> apply(OpenCall call, AnalysisState<A> entryState, ExpressionSet[] params) throws SemanticException
Description copied from interface:OpenCallPolicy
Applies the policy to the given open call.- Specified by:
apply
in interfaceOpenCallPolicy
- Type Parameters:
A
- the type ofAbstractState
contained into the analysis state- Parameters:
call
- theOpenCall
under evaluationentryState
- the state when the call is executedparams
- the symbolic expressions representing the computed values of the parameters of the call- Returns:
- the
AnalysisState
representing the abstract result of the execution of this call - Throws:
SemanticException
- if something goes wrong during the computation
-
-