iAI icon indicating copy to clipboard operation
iAI copied to clipboard

Dataflow facts disappear when using PropagateOntoStrategy in backward analysis

Open yuffon opened this issue 7 months ago • 3 comments

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.

yuffon avatar Jul 04 '24 07:07 yuffon