abstract class IntraprocValueAnalysisSimpleSolver[L <: LatticeWithOps] extends SimpleValueAnalysis with SimpleMapLatticeFixpointSolver[CfgNode] with ForwardDependencies
Intraprocedural value analysis that uses tip.solvers.SimpleFixpointSolver.
- Alphabetic
- By Inheritance
- IntraprocValueAnalysisSimpleSolver
- ForwardDependencies
- SimpleMapLatticeFixpointSolver
- MapLatticeSolver
- Dependencies
- SimpleFixpointSolver
- LatticeSolver
- SimpleValueAnalysis
- ValueAnalysisMisc
- FlowSensitiveAnalysis
- Analysis
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new IntraprocValueAnalysisSimpleSolver(cfg: IntraproceduralProgramCfg, valuelattice: L)(implicit declData: DeclarationData)
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
-
def
analyze(): Element
The basic Kleene fixpoint solver.
The basic Kleene fixpoint solver.
- Definition Classes
- SimpleFixpointSolver → LatticeSolver
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
cfg: ProgramCfg
- Definition Classes
- SimpleValueAnalysis → ValueAnalysisMisc
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
implicit
val
decl: DeclarationData
- Definition Classes
- SimpleValueAnalysis
-
implicit
val
declData: DeclarationData
- Definition Classes
- IntraprocValueAnalysisSimpleSolver → ValueAnalysisMisc
-
val
declaredVars: Set[ADeclaration]
Set of declared variables, used by
statelattice
.Set of declared variables, used by
statelattice
.- Definition Classes
- ValueAnalysisMisc
-
val
domain: Set[CfgNode]
- Definition Classes
- SimpleValueAnalysis
-
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): L.Element
Default implementation of eval.
Default implementation of eval.
- Definition Classes
- ValueAnalysisMisc
-
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
- SimpleMapLatticeFixpointSolver → SimpleFixpointSolver
-
def
funsub(n: CfgNode, x: Element): Element
The constraint function for individual elements in the map domain.
The constraint function for individual elements in the map domain. First computes the join of the incoming elements and then applies the transfer function.
- n
the current location in the map domain
- x
the current lattice element for all locations
- returns
the output sublattice element
- Definition Classes
- MapLatticeSolver
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
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
- ForwardDependencies → Dependencies
-
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
-
val
lattice: MapLattice[CfgNode, statelattice.type]
The analysis lattice.
The analysis lattice.
- Definition Classes
- SimpleValueAnalysis
-
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()
-
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
- ForwardDependencies → Dependencies
-
val
stateAfterNode: Boolean
- Definition Classes
- FlowSensitiveAnalysis
-
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
Transfer function for state lattice elements.
Transfer function for state lattice elements. (Same as
localTransfer
for simple value analysis.)- Definition Classes
- SimpleValueAnalysis
-
val
valuelattice: L
The lattice of abstract values.
The lattice of abstract values.
- Definition Classes
- IntraprocValueAnalysisSimpleSolver → ValueAnalysisMisc
-
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