Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package opalj
    Definition Classes
    org
  • package fpcf

    The fixpoint computations framework (fpcf) is a general framework to perform fixpoint computations of properties ordered by a lattice.

    The fixpoint computations framework (fpcf) is a general framework to perform fixpoint computations of properties ordered by a lattice. The framework in particular supports the development of static analyses.

    In this case, the fixpoint computations/static analyses are generally operating on the code and need to be executed until the computations have reached their (implicit) fixpoint. The fixpoint framework explicitly supports resolving cyclic dependencies/computations. A prime use case of the fixpoint framework are all those analyses that may interact with the results of other analyses.

    For example, an analysis that analyzes all field write accesses to determine if we can refine a field's type (for the purpose of the analysis) can (reuse) the information about the return types of methods, which however may depend on the refined field types.

    The framework is generic enough to facilitate the implementation of anytime algorithms.

    Definition Classes
    opalj
    Note

    This framework assumes that all data-structures (e.g., dependee lists and properties) that are passed to the framework are effectively immutable! (Effectively immutable means that the datastructure is never updated after it was passed to the framework.)

    ,

    The dependency relation is as follows: “A depends on B” === “A is the depender, B is the dependee”. === “B is depended on by A”

    ,

    The very core of the framework is described in: Lattice Based Modularization of Static Analyses

  • package par
    Definition Classes
    fpcf
  • package seq
    Definition Classes
    fpcf
  • DependeeUpdateHandling
  • EagerDependeeUpdateHandling
  • IntermediatePropertyValue
  • LazyDependeeUpdateHandling
  • PKESequentialPropertyStore
  • SeqPropertyStore

package seq

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class DependeeUpdateHandling extends AnyRef
  2. final case class LazyDependeeUpdateHandling(delayHandlingOfNonFinalDependeeUpdates: Boolean = true, delayHandlingOfFinalDependeeUpdates: Boolean = false) extends DependeeUpdateHandling with Product with Serializable
  3. final class PKESequentialPropertyStore extends SeqPropertyStore

    A non-concurrent implementation of the property store.

    A non-concurrent implementation of the property store. Entities are generally only stored on demand. I.e.,

    • they have a property OR
    • a computation is already scheduled that will compute the property OR
    • we have a depender.
  4. abstract class SeqPropertyStore extends PropertyStore

    Non-concurrent implementation of the property store.

Value Members

  1. object EagerDependeeUpdateHandling extends DependeeUpdateHandling with Product with Serializable
  2. object IntermediatePropertyValue
  3. object PKESequentialPropertyStore extends PropertyStoreFactory

    Factory for creating EPKSequentialPropertyStores.

Ungrouped