You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @yuffon,
this is actually intended behavior. We use getAllExitPoints (and isExitInst) to get the locations from where data flows have to be mapped back to the callers. This happens for ret and resume instructions. For exit(), abort() and others the program ends more or less immediately and data-flows will never reach the callers from there.
I see that the naming is confusing. Maybe, we can add another function that covers these cases as well.
Hi @yuffon, this is actually intended behavior. We use getAllExitPoints (and isExitInst) to get the locations from where data flows have to be mapped back to the callers. This happens for ret and resume instructions. For exit(), abort() and others the program ends more or less immediately and data-flows will never reach the callers from there. I see that the naming is confusing. Maybe, we can add another function that covers these cases as well.
OK. Thanks. I need to get all exit points of main function for seed facts in backward dataflow analysis.
I am using an old branch f-IDESolverStrategy because I need PropagateOntoStrategy in my project.
(https://github.com/secure-software-engineering/phasar/tree/f-IDESolverStrategy)
Recently, I find that Phasar does not support using
exit()
as exit point of function.For example, the source code is
The IR is
The code using Phasar is as follows:
getAllExitPoints()
gets nothing.Currently, I scan all instructions in a function and tag all calls to
exit()
as exit points.The text was updated successfully, but these errors were encountered: