Package it.unive.lisa.analysis.value
Interface ValueDomain<D extends ValueDomain<D>>
-
- Type Parameters:
D
- the concrete type of theValueDomain
- All Superinterfaces:
Lattice<D>
,SemanticDomain<D,ValueExpression,Identifier>
- All Known Subinterfaces:
TypeDomain<T>
- All Known Implementing Classes:
DataflowDomain
,DefiniteForwardDataflowDomain
,InferenceSystem
,PossibleForwardDataflowDomain
,TypeEnvironment
,ValueEnvironment
public interface ValueDomain<D extends ValueDomain<D>> extends SemanticDomain<D,ValueExpression,Identifier>, Lattice<D>
A semantic domain that can evaluate the semantic of statements that operate on values, and not on memory locations. A value domain can handle instances ofValueExpression
s, and manage identifiers that areVariable
s.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface it.unive.lisa.analysis.SemanticDomain
SemanticDomain.Satisfiability
-
-
Field Summary
-
Fields inherited from interface it.unive.lisa.analysis.Lattice
BOTTOM_STRING, TOP_STRING
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default D
applySubstitution(java.util.List<HeapSemanticOperation.HeapReplacement> substitution, ProgramPoint pp)
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in theHeapDomain
of the analysis.-
Methods inherited from interface it.unive.lisa.analysis.Lattice
bottom, isBottom, isTop, lessOrEqual, lub, top, widening
-
Methods inherited from interface it.unive.lisa.analysis.SemanticDomain
assign, assume, forgetIdentifier, forgetIdentifiers, forgetIdentifiersIf, getDomainInstance, popScope, pushScope, representation, satisfies, smallStepSemantics
-
-
-
-
Method Detail
-
applySubstitution
default D applySubstitution(java.util.List<HeapSemanticOperation.HeapReplacement> substitution, ProgramPoint pp) throws SemanticException
Applies a substitution of identifiers that is caused by a modification of the abstraction provided in theHeapDomain
of the analysis. A substitution is composed by a list ofHeapSemanticOperation.HeapReplacement
instances, that must be applied in order.- Parameters:
substitution
- the substitution to applypp
- the program point that where this operation is being evaluated- Returns:
- the value domain instance modified by the substitution
- Throws:
SemanticException
- if an error occurs during the computation
-
-