I need to chose a framework for following tasks in Java:
- extract control flow graph
- interprocedural and intraprocedural analysis
- dataflow analysis
- PDG
- different souce code analysis tasks (like method body extraction, test code extraction)
Which framework would be a good fit for my tasks?
I came across so many different tools apart from wala, soot as well like JavaParser, Spoon, to name a few.
Which framework should I chose? Ideally I would like to adopt a tool that is easier to use. Additionally, my expectation was given the popularity of Java tools should already exist for all these tasks. Or my understanding is wrong?
I will appreciate it if anyone please point me to different resources etc.
Spoon would be a good fit for many tasks on your list, and it is quite easy to use. It is primarily used for source code transformation and analysis with the official documentation at http://spoon.gforge.inria.fr/. For control and data flow analysis there is the spoon-control-flow package which is based on Spoon.