Implement analysis of recursive functions
Recursive functions could be handled by the analysis tool. The algorithm is the following:
- Set the current summary of the function to the "default" one (no return value, arguments are not modified, no leakages)
- Start analysing the function normally
- When encountering a recursive call, apply the "default" summary of the function
- Once the analysis is done, replace the summary of the function with that obtained after analysis.
- Redo the analysis, with the modified summary of the function, until performing a pass does not modify the definition
Once this has been done, we should determine how to analyse co-recursive functions.