t

tip.solvers

WorklistFixpointPropagationSolver

trait WorklistFixpointPropagationSolver[N] extends WorklistFixpointSolverWithReachability[N] with WorklistFixpointPropagationFunctions[N]

Worklist-based fixpoint solver that performs propagation after transfer instead of join before transfer. This results in fewer join operations when nodes have many dependencies. Note that with this approach, each abstract state represents the program point *before* the node (for a forward analysis, and opposite for a backward analysis).

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WorklistFixpointPropagationSolver
  2. WorklistFixpointPropagationFunctions
  3. WorklistFixpointSolverWithReachability
  4. MapLiftLatticeSolver
  5. WorklistFixpointSolver
  6. ListSetWorklist
  7. Worklist
  8. MapLatticeSolver
  9. Dependencies
  10. LatticeSolver
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val first: Set[N]

    The start locations.

    The start locations.

    Definition Classes
    WorklistFixpointPropagationFunctions
  2. abstract def indep(n: N): Set[N]

    Incoming dependencies.

    Incoming dependencies. Used when computing the join from predecessors.

    n

    an element from the worklist

    returns

    the elements that the given element depends on

    Definition Classes
    Dependencies
  3. abstract val lattice: MapLattice[N, LiftLattice[Lattice]]

    Must be a map lattice.

  4. abstract def outdep(n: N): Set[N]

    Outgoing dependencies.

    Outgoing dependencies. Used when propagating dataflow to successors.

    n

    an element from the worklist

    returns

    the elements that depend on the given element

    Definition Classes
    Dependencies
  5. abstract def transferUnlifted(n: N, s: Element): Element

    The transfer function for the sub-sub-lattice.

    The transfer function for the sub-sub-lattice.

    Definition Classes
    MapLiftLatticeSolver

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def add(ns: Set[N]): Unit

    Adds a set of items to the worklist.

    Adds a set of items to the worklist.

    Definition Classes
    ListSetWorklistWorklist
  5. def add(n: N): Unit

    Adds an item to the worklist.

    Adds an item to the worklist.

    Definition Classes
    ListSetWorklistWorklist
  6. def analyze(): Element

    The analyze function.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def funsub(n: N, x: Element): Element

    The constraint function for individual elements in the map domain.

    The constraint function for individual elements in the map domain. First computes the join of the incoming elements and then applies the transfer function.

    n

    the current location in the map domain

    x

    the current lattice element for all locations

    returns

    the output sublattice element

    Definition Classes
    MapLatticeSolver
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. def init: Element

    The initial lattice element at the start locations.

    The initial lattice element at the start locations. Default: lift(bottom).

    Definition Classes
    WorklistFixpointPropagationSolverWorklistFixpointPropagationFunctions
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def join(n: N, o: Element): Element

    Computes the least upper bound of the incoming elements.

    Computes the least upper bound of the incoming elements.

    Definition Classes
    MapLatticeSolver
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  20. def process(n: N): Unit

    This method overrides the one from WorklistFixpointSolver.

    This method overrides the one from WorklistFixpointSolver. Called by the worklist solver when a node is visited.

    Definition Classes
    WorklistFixpointPropagationSolverWorklistFixpointSolverWorklist
  21. def propagate(y: Element, m: N): Unit

    Propagates lattice element y to node m.

    Propagates lattice element y to node m.

    Definition Classes
    WorklistFixpointPropagationFunctions
  22. def run(first: Set[N]): Unit

    Iterates until there is no more work to do.

    Iterates until there is no more work to do.

    first

    the initial contents of the worklist

    Definition Classes
    ListSetWorklistWorklist
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. def transfer(n: N, s: Element): Element

    The transfer function.

    The transfer function.

    Definition Classes
    MapLiftLatticeSolverMapLatticeSolver
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. val x: Element

    The current lattice element.

    The current lattice element.

    Definition Classes
    WorklistFixpointSolver

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from MapLiftLatticeSolver[N]

Inherited from WorklistFixpointSolver[N]

Inherited from ListSetWorklist[N]

Inherited from Worklist[N]

Inherited from MapLatticeSolver[N]

Inherited from Dependencies[N]

Inherited from LatticeSolver

Inherited from AnyRef

Inherited from Any

Ungrouped