Class AbstractDomain<Concrete, Abstract, Top, Bot, Value>Abstract

An abstract domain as complete lattice with a widening operator, narrowing operator, concretization function, and abstraction function.

Type Parameters

  • Concrete

    Type of an concrete element of the concrete domain for the abstract domain

  • Abstract

    Type of an abstract element of the abstract domain representing possible elements (excludes Top and Bot)

  • Top

    Type of the Top element of the abstract domain representing all possible elements

  • Bot

    Type of the Bottom element of the abstract domain representing no possible elements

  • Value extends Abstract | Top | Bot = Abstract | Top | Bot

    Type of the abstract elements of the abstract domain (defaults to Abstract or Top or Bot)

Hierarchy (View Summary)

Implements

Hierarchy-Diagram

UML class diagram of AbstractDomain

Constructors

Properties

_value: Value

Accessors

Methods

  • Maps the current abstract value into a set of possible concrete values as concretization function of the abstract domain. The result should be Top if the number of concrete values would reach the limit or the resulting set would have infinite many elements.

    Parameters

    • limit: number

    Returns typeof Top | ReadonlySet<Concrete>

  • Narrows the current abstract value with another abstract value as a sound over-approximation of the meet (greatest lower bound) to refine the value after widening.

    Parameters

    • other: this

    Returns this

  • Widens the current abstract value with another abstract value as a sound over-approximation of the join (least upper bound) for fixpoint iteration acceleration.

    Parameters

    • other: this

    Returns this