Interface IFlowFunctionMap<T>
- Type Parameters:
T
- type of node in the supergraph
- All Known Subinterfaces:
IPartiallyBalancedFlowFunctions<T>
- All Known Implementing Classes:
IdentityFlowFunctions
,IDTransferFunctions
,IFDSTaintFlowFunctionProvider
,ReachabilityFunctions
,SliceFunctions
,TaintTransferFunctions
public interface IFlowFunctionMap<T>
A map from an edge in a supergraph to a flow function
-
Method Summary
Modifier and TypeMethodDescriptiongetCallFlowFunction
(T src, T dest, T ret) getCallNoneToReturnFlowFunction
(T src, T dest) getCallToReturnFlowFunction
(T src, T dest) getNormalFlowFunction
(T src, T dest) getReturnFlowFunction
(T call, T src, T dest)
-
Method Details
-
getNormalFlowFunction
- Returns:
- the flow function for a "normal" edge in the supergraph from src -> dest
-
getCallFlowFunction
- Parameters:
src
- the call blockdest
- the entry of the calleeret
- the block that will be returned to, in the caller. This can be null .. signifying that facts can flow into the callee but not return- Returns:
- the flow function for a "call" edge in the supergraph from src -> dest
-
getReturnFlowFunction
- Parameters:
call
- supergraph node of the call instruction for this return edge.- Returns:
- the flow function for a "return" edge in the supergraph from src -> dest
-
getCallToReturnFlowFunction
- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src -> dest
-
getCallNoneToReturnFlowFunction
- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src -> dest, when the supergraph does not contain any callees of src. This happens via, e.g., slicing.
-