trait InterprocValueAnalysisFunctions extends MapLiftLatticeSolver[CfgNode] with InterprocValueAnalysisMisc[CfgNode]
Constraint functions for value analysis (including interprocedural). This version is for the basic worklist algorithm.
- Alphabetic
- By Inheritance
- InterprocValueAnalysisFunctions
- InterprocValueAnalysisMisc
- ValueAnalysisMisc
- MapLiftLatticeSolver
- MapLatticeSolver
- Dependencies
- LatticeSolver
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
analyze(): Element
The analyze function.
The analyze function.
- Definition Classes
- LatticeSolver
-
abstract
val
cfg: InterproceduralProgramCfg
- Definition Classes
- InterprocValueAnalysisMisc → ValueAnalysisMisc
-
implicit abstract
val
declData: DeclarationData
- Definition Classes
- InterprocValueAnalysisMisc → ValueAnalysisMisc
-
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
-
abstract
val
lattice: MapLattice[CfgNode, liftedstatelattice.type]
The analysis lattice.
The analysis lattice.
- Definition Classes
- InterprocValueAnalysisMisc
-
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
-
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
-
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
-
abstract
val
valuelattice: LatticeWithOps
The lattice of abstract values.
The lattice of abstract values.
- Definition Classes
- ValueAnalysisMisc
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
val
declaredVars: Set[ADeclaration]
Set of declared variables, used by
statelattice
.Set of declared variables, used by
statelattice
.- Definition Classes
- ValueAnalysisMisc
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
eval(exp: AExpr, env: Element)(implicit declData: DeclarationData): lattices.LatticeWithOps.Element
Default implementation of eval.
Default implementation of eval.
- Definition Classes
- ValueAnalysisMisc
-
def
evalArgs(formalParams: Seq[ADeclaration], actualParams: Seq[AExpr], state: Element): Element
Abstract evaluation of function arguments.
Abstract evaluation of function arguments.
- Definition Classes
- InterprocValueAnalysisMisc
-
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
- InterprocValueAnalysisFunctions → MapLatticeSolver
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
-
def
localTransfer(n: CfgNode, s: Element): Element
Transfer function for state lattice elements.
Transfer function for state lattice elements.
- Definition Classes
- ValueAnalysisMisc
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
val
statelattice: MapLattice[ADeclaration, valuelattice.type]
The lattice of abstract states.
The lattice of abstract states.
- Definition Classes
- ValueAnalysisMisc
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transfer(n: CfgNode, s: Element): Element
The transfer function.
The transfer function.
- Definition Classes
- MapLiftLatticeSolver → MapLatticeSolver
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated