AbstractDomain<T extends AbstractDomain<T> > class
abstract
Base class for abstract domains used in abstract interpretation.
An abstract domain provides a way to approximate program states for static analysis while ensuring termination through widening.
- Implementers
Constructors
Properties
- bottom → T
-
Returns the bottom element (⊥).
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isBottom → bool
-
Checks if this is the bottom element.
no setter
- isTop → bool
-
Checks if this is the top element.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- top → T
-
Returns the top element (⊤).
no setter
Methods
-
isSubsetOf(
T other) → bool - Checks if this value is less than or equal to another (⊑).
-
join(
T other) → T - Join operation (⊔): least upper bound of two abstract values.
-
meet(
T other) → T - Meet operation (⊓): greatest lower bound of two abstract values.
-
narrow(
T other) → T - Narrowing operation (△): refines over-approximation after widening.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
widen(
T other) → T - Widening operation (∇): ensures termination in fixpoint iteration.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited