Package it.unive.lisa.analysis.heap
Interface HeapDomain<D extends HeapDomain<D>>
-
- Type Parameters:
D
- the concrete type of theHeapDomain
- All Superinterfaces:
HeapSemanticOperation
,Lattice<D>
,MemoryOracle
,ScopedObject<D>
,SemanticDomain<D,SymbolicExpression,Identifier>
,StructuredObject
- All Known Subinterfaces:
BaseHeapDomain<H>
- All Known Implementing Classes:
HeapEnvironment
public interface HeapDomain<D extends HeapDomain<D>> extends MemoryOracle, SemanticDomain<D,SymbolicExpression,Identifier>, Lattice<D>, HeapSemanticOperation
A semantic domain that can evaluate the semantic of statements that operate on heap locations, and not on concrete values. A heap domain can handle instances ofHeapExpression
s, and manage identifiers that areHeapLocation
s.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface it.unive.lisa.analysis.heap.HeapSemanticOperation
HeapSemanticOperation.HeapReplacement
-
-
Field Summary
-
Fields inherited from interface it.unive.lisa.analysis.Lattice
BOTTOM_STRING, TOP_STRING
-
-
Method Summary
-
Methods inherited from interface it.unive.lisa.analysis.heap.HeapSemanticOperation
getSubstitution
-
Methods inherited from interface it.unive.lisa.analysis.Lattice
bottom, glb, isBottom, isTop, lessOrEqual, lub, narrowing, top, widening
-
Methods inherited from interface it.unive.lisa.analysis.heap.MemoryOracle
alias, areMutuallyReachable, isReachableFrom, reachableFrom, rewrite, rewrite
-
Methods inherited from interface it.unive.lisa.analysis.ScopedObject
popScope, pushScope
-
Methods inherited from interface it.unive.lisa.analysis.SemanticDomain
assign, assume, forgetIdentifier, forgetIdentifiers, forgetIdentifiersIf, getAllDomainInstances, getDomainInstance, knowsIdentifier, satisfies, smallStepSemantics
-
Methods inherited from interface it.unive.lisa.util.representation.StructuredObject
representation
-
-