Package com.ibm.wala.dataflow.graph
Interface ITransferFunctionProvider<T,V extends IVariable<V>>
- Type Parameters:
T
- type of node in the graphV
- type of abstract states computed
public interface ITransferFunctionProvider<T,V extends IVariable<V>>
The
DataflowSolver
builds system over graphs, with dataflow transfer
functions on the nodes, the edges or both. In any case, it takes an
ITransferFunctionProvider
to tell it what functions to use.-
Method Summary
Modifier and TypeMethodDescriptiongetEdgeTransferFunction
(T src, T dst) TODO: perhaps this should go with a Lattice object instead.getNodeTransferFunction
(T node) boolean
boolean
-
Method Details
-
getNodeTransferFunction
- Returns:
- the transfer function from IN_node -> OUT_node
-
hasNodeTransferFunctions
boolean hasNodeTransferFunctions()- Returns:
- true if this provider provides node transfer functions
-
getEdgeTransferFunction
- Returns:
- the transfer function from OUT_src -> EDGE_<src,dst>
-
hasEdgeTransferFunctions
boolean hasEdgeTransferFunctions()- Returns:
- true if this provider provides edge transfer functions
-
getMeetOperator
AbstractMeetOperator<V> getMeetOperator()TODO: perhaps this should go with a Lattice object instead. TODO: provide an API to allow composition of the meet operator with the flow operator for a given block, as an optimization?
-