Package it.unive.lisa.analysis
Interface AbstractState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>>
-
- Type Parameters:
A- the concrete type of theAbstractStateH- the type ofHeapDomainembedded in this stateV- the type ofValueDomainembedded in this stateT- the type ofValueDomainandTypeDomainembedded in this state
- All Superinterfaces:
Lattice<A>,SemanticDomain<A,SymbolicExpression,Identifier>
- All Known Implementing Classes:
SimpleAbstractState
public interface AbstractState<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> extends Lattice<A>, SemanticDomain<A,SymbolicExpression,Identifier>
An abstract state of the analysis, composed by a heap state modeling the memory layout and a value state modeling values of program variables and memory locations. An abstract state also wraps a domain to reason about runtime types of such variables.
-
-
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_REPR, BOTTOM_STRING, TOP_REPR, TOP_STRING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description HgetHeapState()Yields the instance ofHeapDomainthat contains the information on heap structures contained in this abstract state.TgetTypeState()Yields the instance ofValueDomainandTypeDomainthat contains the information on runtime types of program variables and concretized memory locations.VgetValueState()Yields the instance ofValueDomainthat contains the information on values of program variables and concretized memory locations.DomainRepresentationtypeRepresentation()Yields aDomainRepresentationof the information contained in this domain's instance.-
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, getDomainInstance, popScope, pushScope, representation, satisfies, smallStepSemantics
-
-
-
-
Method Detail
-
getHeapState
H getHeapState()
Yields the instance ofHeapDomainthat contains the information on heap structures contained in this abstract state.- Returns:
- the heap domain
-
getValueState
V getValueState()
Yields the instance ofValueDomainthat contains the information on values of program variables and concretized memory locations.- Returns:
- the value domain
-
getTypeState
T getTypeState()
Yields the instance ofValueDomainandTypeDomainthat contains the information on runtime types of program variables and concretized memory locations.- Returns:
- the type domain
-
typeRepresentation
DomainRepresentation typeRepresentation()
Yields aDomainRepresentationof the information contained in this domain's instance. This differs fromSemanticDomain.representation()by using the type state instead of the value state to build the representation.- Returns:
- the representation
-
-