【问题标题】:Java Control Flow Graphs Library [closed]Java控制流图库[关闭]
【发布时间】:2011-12-28 19:38:02
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我将添加另一个工具。

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

    【讨论】:

      【解决方案3】:

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

      javacalltracer 做了类似的事情。

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

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

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

      JGraph 是开源的,非常酷。

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

      【讨论】:

      • 不,我不是在寻找用于 java 的图形库。我正在寻找从 java 代码生成控制流图。
      • @Midhat 哦,你的意思是序列图。我会更新你的问题。
      • 这个东西:en.wikipedia.org/wiki/Control_flow_graph 是静态分析的产物,在我开始运行代码之前需要它。是的,我正在处理这些行,从类文件中提取字节码并自己构建图形
      • @Midhat ... 那么我最初的建议和 kaliatech 的建议是合适的,因为它们是通用图形库。我不再明白这个问题了。
      猜你喜欢
      • 2010-09-16
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多