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
A
TabulationSolver
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
ModifierConstructorDescriptionprotected
BoundedPartiallyBalancedSolver
(PartiallyBalancedTabulationProblem<T, P, F> p, int bound, MonitorUtil.IProgressMonitor monitor) -
Method Summary
Modifier and TypeMethodDescriptionstatic <T,
P, F> BoundedPartiallyBalancedSolver <T, P, F> createdBoundedPartiallyBalancedSolver
(PartiallyBalancedTabulationProblem<T, P, F> p, int bound, MonitorUtil.IProgressMonitor monitor) int
protected boolean
Propagate the fact <s_p,i> -> <n, j> has arisen as a path edge.void
Methods inherited from class com.ibm.wala.dataflow.IFDS.PartiallyBalancedTabulationSolver
addSeed, createPartiallyBalancedTabulationSolver, newUnbalancedExplodedReturnEdge
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, newCallExplodedEdge, newNormalExplodedEdge, newSummaryEdge, performVerboseAction, popFromWorkList, processCall, processExit, processParticularCallee, recordCall, solve, tendToSoftCaches
-
Constructor Details
-
BoundedPartiallyBalancedSolver
protected BoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T, P, F> p, int bound, MonitorUtil.IProgressMonitor monitor)
-
-
Method Details
-
createdBoundedPartiallyBalancedSolver
public static <T,P, BoundedPartiallyBalancedSolver<T,F> P, createdBoundedPartiallyBalancedSolverF> (PartiallyBalancedTabulationProblem<T, P, F> p, int bound, MonitorUtil.IProgressMonitor monitor) -
propagate
Description copied from class:TabulationSolver
Propagate the fact <s_p,i> -> <n, j> has arisen as a path edge. Returns <code>true</code> 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()
-