N
- The type of nodes in the interprocedural control-flow graph. Typically Unit
.D
- The type of data-flow facts to be computed by the tabulation problem.M
- The type of objects used to represent methods. Typically SootMethod
.V
- The type of values to be computed along flow edges.I
- The type of inter-procedural control-flow graph being used.public interface IDETabulationProblem<N,D,M,V,I extends InterproceduralCFG<N,M>> extends IFDSTabulationProblem<N,D,M,I>
IFDSTabulationProblem
by allowing additional values to be computed along flow functions: each domain value
of type D maps at any program point to a value of type V. The functions describe how
values are transformed when moving from one statement to another.
The problem further defines a JoinLattice
, which describes how values of
type V are joined (merged) when multiple values are possible.Modifier and Type | Method and Description |
---|---|
EdgeFunction<V> |
allTopFunction()
Returns a function mapping everything to top.
|
EdgeFunctions<N,D,M,V> |
edgeFunctions()
Returns the edge functions that describe how V-values are transformed along
flow function edges.
|
JoinLattice<V> |
joinLattice()
Returns the lattice describing how values of type V need to be joined.
|
flowFunctions, initialSeeds, interproceduralCFG, zeroValue
autoAddZero, computeValues, followReturnsPastSeeds, numThreads, recordEdges
EdgeFunctions<N,D,M,V> edgeFunctions()
JoinLattice<V> joinLattice()
EdgeFunction<V> allTopFunction()