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 problempublic class BoundedPartiallyBalancedSolver<T,P,F> extends PartiallyBalancedTabulationSolver<T,P,F>
TabulationSolver
that gives up after a finite bound.TabulationSolver.Result, TabulationSolver.Worklist
DEBUG_LEVEL, flowFunctionMap, PERIODIC_WIPE_SOFT_CACHES, progressMonitor, summaryEdges, supergraph, verbose
Modifier | Constructor and Description |
---|---|
protected |
BoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p,
int bound,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
Modifier and Type | Method and Description |
---|---|
static <T,P,F> BoundedPartiallyBalancedSolver<T,P,F> |
createdBoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p,
int bound,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
int |
getNumSteps() |
protected boolean |
propagate(T s_p,
int i,
T n,
int j)
Propagate the fact <s_p,i> -> <n, j> has arisen as a path edge.
|
void |
resetBound() |
addSeed, createPartiallyBalancedTabulationSolver, newUnbalancedExplodedReturnEdge
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
protected BoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
public static <T,P,F> BoundedPartiallyBalancedSolver<T,P,F> createdBoundedPartiallyBalancedSolver(PartiallyBalancedTabulationProblem<T,P,F> p, int bound, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
protected boolean propagate(T s_p, int i, T n, int j)
TabulationSolver
propagate
in class PartiallyBalancedTabulationSolver<T,P,F>
s_p
- entry blocki
- dataflow fact on entryn
- reached blockj
- dataflow fact reachedpublic int getNumSteps()
public void resetBound()
Copyright © 2019. All rights reserved.