Packages

t

tip.analysis

InterprocValueAnalysisFunctions

trait InterprocValueAnalysisFunctions extends MapLiftLatticeSolver[CfgNode] with InterprocValueAnalysisMisc[CfgNode]

Constraint functions for value analysis (including interprocedural). This version is for the basic worklist algorithm.

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

Abstract Value Members

  1. abstract def analyze(): Element

    The analyze function.

    The analyze function.

    Definition Classes
    LatticeSolver
  2. abstract val cfg: InterproceduralProgramCfg
  3. implicit abstract val declData: DeclarationData
  4. 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
  5. abstract val lattice: MapLattice[CfgNode, liftedstatelattice.type]

    The analysis lattice.

    The analysis lattice.

    Definition Classes
    InterprocValueAnalysisMisc
  6. abstract val liftedstatelattice: LiftLattice[statelattice.type]

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

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

    Definition Classes
    InterprocValueAnalysisMisc
  7. 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
  8. abstract def transferUnlifted(n: CfgNode, s: Element): Element

    The transfer function for the sub-sub-lattice.

    The transfer function for the sub-sub-lattice.

    Definition Classes
    MapLiftLatticeSolver
  9. 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. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  6. val declaredVars: Set[ADeclaration]

    Set of declared variables, used by statelattice.

    Set of declared variables, used by statelattice.

    Definition Classes
    ValueAnalysisMisc
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def eval(exp: AExpr, env: Element)(implicit declData: DeclarationData): lattices.LatticeWithOps.Element

    Default implementation of eval.

    Default implementation of eval.

    Definition Classes
    ValueAnalysisMisc
  10. def evalArgs(formalParams: Seq[ADeclaration], actualParams: Seq[AExpr], state: Element): Element

    Abstract evaluation of function arguments.

    Abstract evaluation of function arguments.

    Definition Classes
    InterprocValueAnalysisMisc
  11. def funsub(n: CfgNode, x: Element): Element

    Overrides funsub from tip.solvers.MapLatticeSolver adding support for function calls and returns.

    Overrides funsub from tip.solvers.MapLatticeSolver adding support for function calls and returns.

    n

    the current location in the map domain

    x

    the current lattice element for all locations

    returns

    the output sublattice element

    Definition Classes
    InterprocValueAnalysisFunctionsMapLatticeSolver
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. 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
  16. def localTransfer(n: CfgNode, s: Element): Element

    Transfer function for state lattice elements.

    Transfer function for state lattice elements.

    Definition Classes
    ValueAnalysisMisc
  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. val statelattice: MapLattice[ADeclaration, valuelattice.type]

    The lattice of abstract states.

    The lattice of abstract states.

    Definition Classes
    ValueAnalysisMisc
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. def transfer(n: CfgNode, s: Element): Element

    The transfer function.

    The transfer function.

    Definition Classes
    MapLiftLatticeSolverMapLatticeSolver
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  26. 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 MapLiftLatticeSolver[CfgNode]

Inherited from MapLatticeSolver[CfgNode]

Inherited from Dependencies[CfgNode]

Inherited from LatticeSolver

Inherited from AnyRef

Inherited from Any

Ungrouped