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
Constructors -
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:
getCallFlowFunctionin 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:
getCallNoneToReturnFlowFunctionin 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:
getCallToReturnFlowFunctionin interfaceIFlowFunctionMap<Statement>- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src -> dest
-
getNormalFlowFunction
- Specified by:
getNormalFlowFunctionin interfaceIFlowFunctionMap<Statement>- Returns:
- the flow function for a "normal" edge in the supergraph from src -> dest
-
getReturnFlowFunction
- Specified by:
getReturnFlowFunctionin 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:IPartiallyBalancedFlowFunctionsThis version should work when the "call" instruction was never reached normally. This applies only when using partially balanced parentheses.- Specified by:
getUnbalancedReturnFlowFunctionin interfaceIPartiallyBalancedFlowFunctions<Statement>- Returns:
- the flow function for a "return" edge in the supergraph from src -< dest
-