Class NullPointerSolver<B extends ISSABasicBlock>
java.lang.Object
com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<NullPointerState>
com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver<NullPointerState>
com.ibm.wala.dataflow.graph.DataflowSolver<B,NullPointerState>
com.ibm.wala.cfg.exc.intra.NullPointerSolver<B>
- All Implemented Interfaces:
FixedPointConstants
,IFixedPointSolver<NullPointerState>
,VerboseAction
Intraprocedural dataflow analysis to detect impossible NullPointerExceptions.
- Author:
- Juergen Graf <graf@kit.edu>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
AbstractFixedPointSolver.Statement
-
Field Summary
Fields inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workList
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
Constructor Summary
ConstructorDescriptionNullPointerSolver
(NullPointerFrameWork<B> problem, int maxVarNum, B entry, IR ir, ParameterState initialState) NullPointerSolver
(NullPointerFrameWork<B> problem, int maxVarNum, IR ir, B entry) -
Method Summary
Modifier and TypeMethodDescriptionprotected NullPointerState
makeEdgeVariable
(B src, B dst) protected NullPointerState
makeNodeVariable
(B n, boolean IN) protected NullPointerState[]
makeStmtRHS
(int size) Methods inherited from class com.ibm.wala.dataflow.graph.DataflowSolver
buildEquations, getEdge, getEdge, getIn, getOut, getProblem, initializeVariables, initializeWorkList
Methods inherited from class com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver
getFixedPointSystem
Methods inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
addAllStatementsToWorkList, addToWorkList, changedVariable, emptyWorkList, getMaxEvalBetweenTopo, getMinSizeForTopSort, getNumberOfEvaluations, getPeriodicMaintainInterval, getStatements, getTopologicalGrowthFactor, getVerboseInterval, incNumberOfEvaluations, initForFirstSolve, isChanged, isFixed, isSideEffect, lineBreak, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactor, solve, toString
-
Constructor Details
-
NullPointerSolver
-
NullPointerSolver
public NullPointerSolver(NullPointerFrameWork<B> problem, int maxVarNum, B entry, IR ir, ParameterState initialState)
-
-
Method Details
-
makeEdgeVariable
- Specified by:
makeEdgeVariable
in classDataflowSolver<B extends ISSABasicBlock,
NullPointerState>
-
makeNodeVariable
- Specified by:
makeNodeVariable
in classDataflowSolver<B extends ISSABasicBlock,
NullPointerState> - Parameters:
n
- a node- Returns:
- a fresh variable to represent the lattice value at the IN or OUT of n
-
makeStmtRHS
- Specified by:
makeStmtRHS
in classAbstractFixedPointSolver<NullPointerState>
-