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
public class NullPointerSolver<B extends ISSABasicBlock>
extends DataflowSolver<B, NullPointerState>
Intraprocedural dataflow analysis to detect impossible NullPointerExceptions.
- Author:
- Juergen Graf <graf@kit.edu>
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractFixedPointSolver
AbstractFixedPointSolver.Statement -
Field Summary
Fields inherited from class AbstractFixedPointSolver
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workListFields inherited from interface FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK -
Constructor Summary
ConstructorsConstructorDescriptionNullPointerSolver(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 NullPointerStatemakeEdgeVariable(B src, B dst) protected NullPointerStatemakeNodeVariable(B n, boolean IN) protected NullPointerState[]makeStmtRHS(int size) Methods inherited from class DataflowSolver
buildEquations, getEdge, getEdge, getIn, getOut, getProblem, initializeVariables, initializeWorkListMethods inherited from class DefaultFixedPointSolver
getFixedPointSystemMethods inherited from class 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:
makeEdgeVariablein classDataflowSolver<B extends ISSABasicBlock, NullPointerState>
-
makeNodeVariable
- Specified by:
makeNodeVariablein 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:
makeStmtRHSin classAbstractFixedPointSolver<NullPointerState>
-