Package com.ibm.wala.dataflow.IFDS
Class BoundedPartiallyBalancedSolver<T,P,F>
- java.lang.Object
-
- com.ibm.wala.dataflow.IFDS.TabulationSolver<T,P,F>
-
- com.ibm.wala.dataflow.IFDS.PartiallyBalancedTabulationSolver<T,P,F>
-
- com.ibm.wala.dataflow.IFDS.BoundedPartiallyBalancedSolver<T,P,F>
-
- Type Parameters:
T
- type of node in the supergraphP
- type of a procedure (like a box in an RSM)F
- type of factoids propagated when solving this problem
public class BoundedPartiallyBalancedSolver<T,P,F> extends PartiallyBalancedTabulationSolver<T,P,F>
ATabulationSolver
that gives up after a finite bound.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.wala.dataflow.IFDS.TabulationSolver
TabulationSolver.Result, TabulationSolver.Worklist
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.dataflow.IFDS.TabulationSolver
DEBUG_LEVEL, flowFunctionMap, PERIODIC_WIPE_SOFT_CACHES, progressMonitor, summaryEdges, supergraph, verbose
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, MonitorUtil.IProgressMonitor monitor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T,P,F>
BoundedPartiallyBalancedSolver<T,P,F>createdBoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, MonitorUtil.IProgressMonitor monitor)
int
getNumSteps()
protected boolean
propagate(T s_p, int i, T n, int j)
Propagate the fact-> has arisen as a path edge. void
resetBound()
-
Methods inherited from class com.ibm.wala.dataflow.IFDS.PartiallyBalancedTabulationSolver
addSeed, createPartiallyBalancedTabulationSolver
-
Methods inherited from class com.ibm.wala.dataflow.IFDS.TabulationSolver
addToWorkList, computeBinaryFlow, computeFlow, computeInverseFlow, findOrCreateCallFlowEdges, findOrCreateLocalPathEdges, findOrCreateLocalSummaryEdges, getCurPathEdge, getCurSummaryEdge, getInversePathEdges, getLocalPathEdges, getProblem, getProgressMonitor, getResult, getSeeds, getSummarySources, getSupergraph, initialize, make, makeWorklist, performVerboseAction, popFromWorkList, processCall, processExit, processParticularCallee, recordCall, solve, tendToSoftCaches
-
-
-
-
Constructor Detail
-
BoundedPartiallyBalancedSolver
protected BoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, MonitorUtil.IProgressMonitor monitor)
-
-
Method Detail
-
createdBoundedPartiallyBalancedSolver
public static <T,P,F> BoundedPartiallyBalancedSolver<T,P,F> createdBoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, MonitorUtil.IProgressMonitor monitor)
-
propagate
protected boolean propagate(T s_p, int i, T n, int j)
Description copied from class:TabulationSolver
Propagate the fact-> has arisen as a path edge. Returns true
iff the path edge was not previously observed.- Overrides:
propagate
in classPartiallyBalancedTabulationSolver<T,P,F>
- Parameters:
s_p
- entry blocki
- dataflow fact on entryn
- reached blockj
- dataflow fact reached
-
getNumSteps
public int getNumSteps()
-
resetBound
public void resetBound()
-
-