5

我需要为项目中的 Java 代码操作控制流图。什么可能是一个很好的 Java 库,可以在 Java 中生成控制流图。到目前为止,我已经找到了几个 Eclipse 插件(严重依赖于 Eclipse API)和独立工具(不能嵌入到我的代码中)。

4

3 回答 3

5

做这些事情的工具是 Soot,这个问题是Tool for generate control flow in Java的副本

于 2011-11-14T18:32:44.387 回答
0

我将把另一个工具加入其中。

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

于 2017-01-06T21:31:45.367 回答
-2

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

javacalltracer做了类似的事情。

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

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

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

JGraph是开源的,而且非常酷。

JDiagram是一个 Swing 组件,商业产品。

于 2011-11-14T16:54:55.893 回答