Are there open source Java analysis libraries for data dependency / control?

I am looking for a library / API that has some data out of the box and dependency analyzes for Java programs. This will be a static analysis on the control flow graph (CFG) of this program to calculate data dependencies and control dependencies. I would like to avoid reusing these methods / algorithms if they have already been executed. Interprocedural analysis would be great, but I could work with a library that also does intraprocedural work.

Any suggestions are welcome.

Edit: One thing I found is jChord , but I have not been able to determine if it actually has any of the functionality that I am looking for, or if I had to implement it myself.

Another possibility is the joeq library, which, at least, has the infrastructure necessary for this, but the documentation (or lack thereof) makes it difficult for me to tell what it is capable of.

I am sure that Eclipse is analyzing the data flow under the hood, but I have not yet seen anything that would be public. Does anyone know of an Eclipse API having such things?

+4
source share
3 answers

OP says he is also interested in open source systems.

Our DMS Software Reengineering Toolkit with its Java Front End can analyze Java source code in all dialects 1.4-1.7, create complete ASTs, build character tables, calculate expression types and define control and data flow within methods, including dependency dependency, as required by the OP.

Usually, people interested in advanced analyzes have something other than raw analysis. DMS is an ecosystem of program analysis and conversion tools that can be used to use such analyzes to diagnose existing code in terms of source location (taken directly from AST) or source code (fairly printed from the subtree of interest) or generate new code fragments (by assembling AST and beautiful printing) or, finally, by actually changing the source code (by modifying the AST using procedural modifications or, better yet, transforming the source nickname in source and beautiful print modified AST).

+2
source

I found that JBoss Tattletale has some useful reports.

http://www.jboss.org/tattletale

0
source

Source: https://habr.com/ru/post/1396491/


All Articles