Java控制流图图书馆

时间:2011-11-14 16:36:50

标签: java graph control-flow control-flow-graph

我需要操纵项目中Java代码的控制流图。什么可能是一个很好的Java库来生成Java中的控制流图。到目前为止,我发现了一些eclipse插件(严重依赖于eclipse API)和独立工具(无法嵌入我的代码中)。

4 个答案:

答案 0 :(得分:5)

执行此操作的工具是Soot,此问题与Tool for generating control flow in Java

重复

答案 1 :(得分:1)

jSonde将根据您的实际运行代码创建序列图(这可能比源代码更有用,因为源分析不会显示特定于实现的功能)。

javacalltracer做了类似的事情。

大多数工具都集成到Eclipse /类似工具中,因此他们可以访问AST,这使得这些事情变得非常简单。

从字节代码中提取信息实际上并不是非常复杂(这是一项有趣的练习)。或者使用AspectJ并自行创建运行时信息。

编辑原始答案,仍然有效。

JGraph是开源的,非常酷。

JDiagram是Swing组件,商业产品。

答案 2 :(得分:0)

一些例子:

如果不是您想要的,那么您的问题需要更多信息。大多数这些选项(以及更多)已经在StackOverflow上的其他类似问题中得到了解决,即使它们不是特定于控制流图的。例子:

答案 3 :(得分:0)

我会把另一个工具扔进混音中。

Atlas是一个Eclipse插件,支持程序分析。它有一个可交换的图形数据库,包括控制流图(以及数据流和其他关系)。