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
Modifier and TypeMethodDescriptionget the bitvector of facts that hold at IN for a given node in the supergraph.getSeeds()
getSummaryTargets
(T n1, int d1, T n2)
-
Method Details
-
getResult
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, getProblem()F> - Returns:
- the governing IFDS problem
-
getSupergraphNodesReached
Collection<T> getSupergraphNodesReached()- Returns:
- the set of supergraph nodes for which any fact is reached
-
getSummaryTargets
- 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.
-