Interface NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>>
-
- Type Parameters:
T- the concrete type of the domainE- the type of expressions that this domain can evaluateF- the type of functional lattice that is used in conjunction with this domain
- All Superinterfaces:
Lattice<T>,NonRelationalElement<T,E,F>,SemanticEvaluator
- All Known Subinterfaces:
NonRelationalHeapDomain<T>,NonRelationalValueDomain<T>
- All Known Implementing Classes:
AllocationSites,BaseNonRelationalValueDomain,IntegerConstantPropagation,Interval,Parity,Sign
public interface NonRelationalDomain<T extends NonRelationalDomain<T,E,F>,E extends SymbolicExpression,F extends FunctionalLattice<F,Identifier,T>> extends NonRelationalElement<T,E,F>
ANonRelationalElementthat models the standard concept of non-relational abstract domain, and that is able to compute the value of aSymbolicExpressions of typeEby knowing the values of all program variables. Instances of this class can be wrapped inside anFunctionalLatticeto represent abstract values of individualIdentifiers.
-
-
Field Summary
-
Fields inherited from interface it.unive.lisa.analysis.Lattice
BOTTOM_REPR, BOTTOM_STRING, TOP_REPR, TOP_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Teval(E expression, F environment, ProgramPoint pp)Evaluates aSymbolicExpression, assuming that the values of program variables are the ones stored inenvironment.-
Methods inherited from interface it.unive.lisa.analysis.Lattice
bottom, isBottom, isTop, lessOrEqual, lub, top, widening
-
Methods inherited from interface it.unive.lisa.analysis.nonrelational.NonRelationalElement
assume, glb, representation, satisfies, variable
-
Methods inherited from interface it.unive.lisa.analysis.SemanticEvaluator
canProcess, tracksIdentifiers
-
-
-
-
Method Detail
-
eval
T eval(E expression, F environment, ProgramPoint pp) throws SemanticException
Evaluates aSymbolicExpression, assuming that the values of program variables are the ones stored inenvironment.- Parameters:
expression- the expression to evaluateenvironment- the environment containing the values of program variables for the evaluationpp- the program point that where this operation is being evaluated- Returns:
- an new instance of this domain, representing the abstract result
of
expressionwhen evaluated onenvironment - Throws:
SemanticException- if something goes wrong during the computation
-
-