Package com.ibm.wala.dataflow.IFDS
Interface TabulationResult<T,P,F>
-
- Type Parameters:
T
- type of node in the supergraphP
- type of a procedure, like a box in an RSMF
- type of factoids propagated when solving this problem
- All Known Implementing Classes:
TabulationSolver.Result
public interface TabulationResult<T,P,F>
The solution of a tabulation problem: a mapping from supergraph node -> bit vector representing the dataflow facts that hold at the entry to the supergraph node.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TabulationProblem<T,P,F>
getProblem()
IntSet
getResult(T node)
get the bitvector of facts that hold at IN for a given node in the supergraph.Collection<PathEdge<T>>
getSeeds()
IntSet
getSummaryTargets(T n1, int d1, T n2)
Collection<T>
getSupergraphNodesReached()
-
-
-
Method Detail
-
getResult
IntSet getResult(T node)
get the bitvector of facts that hold at IN for a given node in the supergraph.- Parameters:
node
- a node in the supergraph- Returns:
- SparseIntSet efficiently representing the bitvector
-
getProblem
TabulationProblem<T,P,F> getProblem()
- Returns:
- the governing IFDS problem
-
getSupergraphNodesReached
Collection<T> getSupergraphNodesReached()
- Returns:
- the set of supergraph nodes for which any fact is reached
-
getSummaryTargets
IntSet getSummaryTargets(T n1, int d1, T n2)
- Parameters:
n1
-d1
-n2
-- Returns:
- set of d2 s.t. (n1,d1) -> (n2,d2) is recorded as a summary edge, or null if none found
-
getSeeds
Collection<PathEdge<T>> getSeeds()
- Returns:
- the set of all
PathEdge
s that were used as seeds during the tabulation.
-
-