Class SliceFunctions
java.lang.Object
com.ibm.wala.ipa.slicer.SliceFunctions
- All Implemented Interfaces:
IFlowFunctionMap<Statement>
,IPartiallyBalancedFlowFunctions<Statement>
flow functions for flow-sensitive context-sensitive slicer
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetCallFlowFunction
(Statement src, Statement dest, Statement ret) getCallNoneToReturnFlowFunction
(Statement src, Statement dest) getCallToReturnFlowFunction
(Statement src, Statement dest) getNormalFlowFunction
(Statement src, Statement dest) getReturnFlowFunction
(Statement src, Statement dest) getReturnFlowFunction
(Statement call, Statement src, Statement dest) getUnbalancedReturnFlowFunction
(Statement src, Statement dest) This version should work when the "call" instruction was never reached normally.
-
Constructor Details
-
SliceFunctions
public SliceFunctions()
-
-
Method Details
-
getCallFlowFunction
- Specified by:
getCallFlowFunction
in interfaceIFlowFunctionMap<Statement>
- 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
-
getCallNoneToReturnFlowFunction
- Specified by:
getCallNoneToReturnFlowFunction
in interfaceIFlowFunctionMap<Statement>
- 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.
-
getCallToReturnFlowFunction
- Specified by:
getCallToReturnFlowFunction
in interfaceIFlowFunctionMap<Statement>
- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src -> dest
-
getNormalFlowFunction
- Specified by:
getNormalFlowFunction
in interfaceIFlowFunctionMap<Statement>
- Returns:
- the flow function for a "normal" edge in the supergraph from src -> dest
-
getReturnFlowFunction
- Specified by:
getReturnFlowFunction
in interfaceIFlowFunctionMap<Statement>
- 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
-
getReturnFlowFunction
-
getUnbalancedReturnFlowFunction
Description copied from interface:IPartiallyBalancedFlowFunctions
This version should work when the "call" instruction was never reached normally. This applies only when using partially balanced parentheses.- Specified by:
getUnbalancedReturnFlowFunction
in interfaceIPartiallyBalancedFlowFunctions<Statement>
- Returns:
- the flow function for a "return" edge in the supergraph from src -< dest
-