iAI
iAI copied to clipboard
Dataflow facts disappear when using PropagateOntoStrategy in backward analysis
Hi, Recently, I meet one issue when using PropagateOntoStrategy (branch f-IDESolverStrategy) for backward analysis.
My backward dataflow analysis is a specialized typestate analysis. Flow functions are as follows.
call-to-return: killall function call flow: identity function ret flow: identity function summary and normal flow: advance automata.
The program structure is like the following.
//point 1
if(!callSomeFunction()){
......
}
void callSomeFunction(){
//point 2
}
I have checked the dataflow results. At point 2
, data flow facts are correct. But point 1
has no data flow facts. Since this is backward analysis. It seems like getCallFlowFunction
kills all facts.
But I use identity function for both getRetFlowFunction
or getCallFlowFunction
.
I don't know whether this is a bug.
By the way, it seems that f-IDESolverStrategy has not been merged in to main branch.