Packages

c

tip.analysis.IntervalAnalysis.Intraprocedural

WorklistSolverWithWideningAndNarrowing

class WorklistSolverWithWideningAndNarrowing extends IntraprocValueAnalysisWorklistSolverWithReachability[IntervalLattice.type] with WorklistFixpointSolverWithReachabilityAndWideningAndNarrowing[CfgNode] with IntervalAnalysisWidening

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WorklistSolverWithWideningAndNarrowing
  2. IntervalAnalysisWidening
  3. WorklistFixpointSolverWithReachabilityAndWideningAndNarrowing
  4. SimpleMapLatticeFixpointSolver
  5. SimpleFixpointSolver
  6. WorklistFixpointSolverWithReachabilityAndWidening
  7. IntraprocValueAnalysisWorklistSolverWithReachability
  8. ForwardDependencies
  9. WorklistFixpointSolverWithReachability
  10. MapLiftLatticeSolver
  11. WorklistFixpointSolver
  12. ListSetWorklist
  13. Worklist
  14. LiftedValueAnalysisMisc
  15. LiftedValueAnalysis
  16. ValueAnalysisMisc
  17. MapLatticeSolver
  18. Dependencies
  19. LatticeSolver
  20. FlowSensitiveAnalysis
  21. Analysis
  22. AnyRef
  23. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new WorklistSolverWithWideningAndNarrowing(cfg: IntraproceduralProgramCfg)(implicit declData: DeclarationData)

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[CfgNode]): Unit

    Adds a set of items to the worklist.

    Adds a set of items to the worklist.

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

    Adds an item to the worklist.

    Adds an item to the worklist.

    Definition Classes
    ListSetWorklistWorklist
  6. def analyze(): Element

    The basic Kleene fixpoint solver.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val cfg: IntraproceduralProgramCfg
    Definition Classes
    LiftedValueAnalysisValueAnalysisMisc
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  10. implicit val declData: DeclarationData
  11. val declaredVars: Set[ADeclaration]

    Set of declared variables, used by statelattice.

    Set of declared variables, used by statelattice.

    Definition Classes
    ValueAnalysisMisc
  12. val domain: Set[CfgNode]
    Definition Classes
    LiftedValueAnalysis
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def eval(exp: AExpr, env: Element)(implicit declData: DeclarationData): Element

    Default implementation of eval.

    Default implementation of eval.

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

    The worklist is initialized with all function entry nodes.

    The worklist is initialized with all function entry nodes.

    Definition Classes
    LiftedValueAnalysis
  17. def fun(x: Element): Element

    The function for which the least fixpoint is to be computed.

    The function for which the least fixpoint is to be computed. Applies the sublattice constraint function pointwise to each entry.

    x

    the input lattice element

    returns

    the output lattice element

    Definition Classes
    SimpleMapLatticeFixpointSolverSimpleFixpointSolver
  18. 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
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  21. 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
    ForwardDependenciesDependencies
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. 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
  24. val lattice: MapLattice[CfgNode, liftedstatelattice.type]

    The analysis lattice.

    The analysis lattice.

    Definition Classes
    LiftedValueAnalysisMapLatticeSolverLatticeSolver
  25. 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
    LiftedValueAnalysis
  26. def localTransfer(n: CfgNode, s: Element): Element

    Transfer function for state lattice elements.

    Transfer function for state lattice elements.

    Definition Classes
    ValueAnalysisMisc
  27. def loophead(n: CfgNode): Boolean
    Definition Classes
    IntervalAnalysisWidening
  28. def narrow(x: Element, i: Int): Element

    Performs narrowing on the given lattice element

    Performs narrowing on the given lattice element

    x

    the lattice element

    i

    number of iterations

    Definition Classes
    WorklistFixpointSolverWithReachabilityAndWideningAndNarrowing
  29. val narrowingSteps: Int

    Number of narrowing steps.

  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  33. 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
    ForwardDependenciesDependencies
  34. def process(n: CfgNode): Unit

    Called by run to process an item from the worklist.

    Called by run to process an item from the worklist.

    Definition Classes
    WorklistFixpointSolverWithReachabilityAndWideningWorklistFixpointSolverWorklist
  35. def run(first: Set[CfgNode]): 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
  36. val stateAfterNode: Boolean
    Definition Classes
    FlowSensitiveAnalysis
  37. val statelattice: MapLattice[ADeclaration, valuelattice.type]

    The lattice of abstract states.

    The lattice of abstract states.

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

    The transfer function.

    The transfer function.

    Definition Classes
    MapLiftLatticeSolverMapLatticeSolver
  41. def transferUnlifted(n: CfgNode, s: Element): Element

    Transfer function for state lattice elements.

    Transfer function for state lattice elements. (Same as localTransfer for basic analyses with lifted state lattice.)

    Definition Classes
    LiftedValueAnalysisMisc
  42. val valuelattice: IntervalLattice.type

    The lattice of abstract values.

    The lattice of abstract values.

    Definition Classes
    IntraprocValueAnalysisWorklistSolverWithReachabilityValueAnalysisMisc
  43. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. def widen(x: Element, y: Element): Element
    Definition Classes
    IntervalAnalysisWidening
  47. def widenInterval(x: Element, y: Element): Element
    Definition Classes
    IntervalAnalysisWidening
  48. 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

Ungrouped