Class DataflowSolver<T, V extends IVariable<V>>
java.lang.Object
com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<V>
com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver<V>
com.ibm.wala.dataflow.graph.DataflowSolver<T,V>
- All Implemented Interfaces:
FixedPointConstants, IFixedPointSolver<V>, VerboseAction
- Direct Known Subclasses:
BitVectorSolver, BooleanSolver, NullPointerSolver
Iterative solver for a Killdall dataflow framework
-
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuildEquations(boolean toWorkList, boolean eager) @Nullable Vprotected voidInitialize all lattice vars in the system.protected voidInitialize the work list for iteration.jprotected abstract VmakeEdgeVariable(T src, T dst) protected abstract VmakeNodeVariable(T n, boolean IN) Methods 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, makeStmtRHS, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactor, solve, toString
-
Constructor Details
-
DataflowSolver
-
-
Method Details
-
makeNodeVariable
-
makeEdgeVariable
-
initializeVariables
protected void initializeVariables()Description copied from class:AbstractFixedPointSolverInitialize all lattice vars in the system.- Specified by:
initializeVariablesin classAbstractFixedPointSolver<V extends IVariable<V>>
-
initializeWorkList
protected void initializeWorkList()Description copied from class:AbstractFixedPointSolverInitialize the work list for iteration.j- Specified by:
initializeWorkListin classAbstractFixedPointSolver<V extends IVariable<V>>
-
getOut
-
getIn
-
getEdge
-
getEdge
-
buildEquations
protected void buildEquations(boolean toWorkList, boolean eager) -
getProblem
-