Package com.ibm.wala.dataflow.graph
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
Iterative solver for a Killdall dataflow framework
-
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, workListFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuildEquations(boolean toWorkList, boolean eager) protected 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 com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver
getFixedPointSystemMethods 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, makeStmtRHS, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactor, solve, toString
-
Constructor Details
-
DataflowSolver
-
-
Method Details
-
makeNodeVariable
- Parameters:
n- a node- Returns:
- a fresh variable to represent the lattice value at the IN or OUT of n
-
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
-