Packages

c

tip.analysis

LiftedValueAnalysis

abstract class LiftedValueAnalysis[P <: ProgramCfg] extends FlowSensitiveAnalysis with MapLatticeSolver[CfgNode] with ValueAnalysisMisc

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LiftedValueAnalysis
  2. ValueAnalysisMisc
  3. MapLatticeSolver
  4. Dependencies
  5. LatticeSolver
  6. FlowSensitiveAnalysis
  7. Analysis
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LiftedValueAnalysis(cfg: P, stateAfterNode: Boolean)(implicit declData: DeclarationData)

Abstract Value Members

  1. abstract def analyze(): Element

    The analyze function.

    The analyze function.

    Definition Classes
    LatticeSolver
  2. abstract def indep(n: CfgNode): Set[CfgNode]

    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 def outdep(n: CfgNode): Set[CfgNode]

    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
  4. abstract def transfer(n: CfgNode, s: Element): Element

    The transfer function.

    The transfer function.

    Definition Classes
    MapLatticeSolver
  5. abstract val valuelattice: LatticeWithOps

    The lattice of abstract values.

    The lattice of abstract values.

    Definition Classes
    ValueAnalysisMisc

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val cfg: P
    Definition Classes
    LiftedValueAnalysisValueAnalysisMisc
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  7. implicit val declData: DeclarationData
    Definition Classes
    LiftedValueAnalysisValueAnalysisMisc
  8. val declaredVars: Set[ADeclaration]

    Set of declared variables, used by statelattice.

    Set of declared variables, used by statelattice.

    Definition Classes
    ValueAnalysisMisc
  9. val domain: Set[CfgNode]
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def eval(exp: AExpr, env: Element)(implicit declData: DeclarationData): lattices.LatticeWithOps.Element

    Default implementation of eval.

    Default implementation of eval.

    Definition Classes
    ValueAnalysisMisc
  13. val first: Set[CfgNode]

    The worklist is initialized with all function entry nodes.

  14. def funsub(n: CfgNode, x: Element): Element

    Overrides funsub from tip.solvers.MapLatticeSolver, treating function entry nodes as reachable.

    Overrides funsub from tip.solvers.MapLatticeSolver, treating function entry nodes as reachable.

    n

    the current location in the map domain

    x

    the current lattice element for all locations

    returns

    the output sublattice element

    Definition Classes
    LiftedValueAnalysisMapLatticeSolver
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. def join(n: CfgNode, o: Element): Element

    Computes the least upper bound of the incoming elements.

    Computes the least upper bound of the incoming elements.

    Definition Classes
    MapLatticeSolver
  19. val lattice: MapLattice[CfgNode, liftedstatelattice.type]

    The analysis lattice.

    The analysis lattice.

    Definition Classes
    LiftedValueAnalysisMapLatticeSolverLatticeSolver
  20. val liftedstatelattice: LiftLattice[statelattice.type]

    Lifted state lattice, with new bottom element representing "unreachable".

  21. def localTransfer(n: CfgNode, s: Element): Element

    Transfer function for state lattice elements.

    Transfer function for state lattice elements.

    Definition Classes
    ValueAnalysisMisc
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  25. val stateAfterNode: Boolean
    Definition Classes
    FlowSensitiveAnalysis
  26. val statelattice: MapLattice[ADeclaration, valuelattice.type]

    The lattice of abstract states.

    The lattice of abstract states.

    Definition Classes
    ValueAnalysisMisc
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

Inherited from ValueAnalysisMisc

Inherited from MapLatticeSolver[CfgNode]

Inherited from Dependencies[CfgNode]

Inherited from LatticeSolver

Inherited from FlowSensitiveAnalysis

Inherited from Analysis[Any]

Inherited from AnyRef

Inherited from Any

Ungrouped