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, zeroValueautoAddZero, computeValues, followReturnsPastSeeds, numThreads, recordEdgesEdgeFunctions<N,D,M,V> edgeFunctions()
JoinLattice<V> joinLattice()
EdgeFunction<V> allTopFunction()