public class SliceFunctions extends Object implements IPartiallyBalancedFlowFunctions<Statement>
Constructor and Description |
---|
SliceFunctions() |
Modifier and Type | Method and Description |
---|---|
IUnaryFlowFunction |
getCallFlowFunction(Statement src,
Statement dest,
Statement ret) |
IUnaryFlowFunction |
getCallNoneToReturnFlowFunction(Statement src,
Statement dest) |
IUnaryFlowFunction |
getCallToReturnFlowFunction(Statement src,
Statement dest) |
IUnaryFlowFunction |
getNormalFlowFunction(Statement src,
Statement dest) |
IFlowFunction |
getReturnFlowFunction(Statement src,
Statement dest) |
IFlowFunction |
getReturnFlowFunction(Statement call,
Statement src,
Statement dest) |
IFlowFunction |
getUnbalancedReturnFlowFunction(Statement src,
Statement dest)
This version should work when the "call" instruction was never reached normally.
|
public IUnaryFlowFunction getCallFlowFunction(Statement src, Statement dest, Statement ret)
getCallFlowFunction
in interface IFlowFunctionMap<Statement>
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 returnpublic IUnaryFlowFunction getCallNoneToReturnFlowFunction(Statement src, Statement dest)
getCallNoneToReturnFlowFunction
in interface IFlowFunctionMap<Statement>
public IUnaryFlowFunction getCallToReturnFlowFunction(Statement src, Statement dest)
getCallToReturnFlowFunction
in interface IFlowFunctionMap<Statement>
public IUnaryFlowFunction getNormalFlowFunction(Statement src, Statement dest)
getNormalFlowFunction
in interface IFlowFunctionMap<Statement>
public IFlowFunction getReturnFlowFunction(Statement call, Statement src, Statement dest)
getReturnFlowFunction
in interface IFlowFunctionMap<Statement>
call
- supergraph node of the call instruction for this return edge.public IFlowFunction getReturnFlowFunction(Statement src, Statement dest)
public IFlowFunction getUnbalancedReturnFlowFunction(Statement src, Statement dest)
IPartiallyBalancedFlowFunctions
getUnbalancedReturnFlowFunction
in interface IPartiallyBalancedFlowFunctions<Statement>