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

AbstractDomain()

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