Java Control Flow Graphs Library

旧街凉风 提交于 2019-12-21 20:22:25

问题


I need to manipulate control flow graphs for Java code in a project. What might be a good java library to generate control flow graphs in Java. So far I have found a couple eclipse plugins (heavily dependent on eclipse APIs) and standalone tools (cannot embed in my code).


回答1:


A tool to do this stuff is Soot, and this questions is a duplicate of Tool for generating control flow in Java




回答2:


Some examples:

  • yFiles for Java (commercial)
  • jGraph
  • JUNG
  • Grappa

If not what you are looking for, then need more info in your question. Most of these options (and many more) are already covered in other similar questions on StackOverflow, even if they are not control flow graph specific. Examples:

  • Java library for graphs
  • Good Java graph algorithm library?



回答3:


jSonde will create sequence diagrams from your actual running code (which is arguably more useful than from source, since source analysis will not show implementation-specific functionality).

javacalltracer does something similar.

Most tools are integrated into Eclipse/similar so they have access to the AST, which makes such things pretty trivial.

It's actually not ridiculously complex to pull the information from byte code yourself (and it's an interesting exercise). Or instrument using AspectJ and create the runtime information yourself.

Edit Original answer, still valid.

JGraph is open-source, and pretty cool.

JDiagram is a Swing component, commercial product.




回答4:


I'll throw another tool into the mix.

Atlas is an Eclipse plugin that enables program analysis. It has a querable graph database that includes the control flow graph (as well as data flow and other relationships).



来源:https://stackoverflow.com/questions/8124838/java-control-flow-graphs-library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!