【发布时间】:2009-10-09 05:54:43
【问题描述】:
我需要一个工具来从 java 源代码生成控制流图。有这样的工具吗?如果我有控制流图,是否也可以生成源代码?
【问题讨论】:
-
可能更重要的问题是:“这个指标实际上有用吗?
标签: java control-flow
我需要一个工具来从 java 源代码生成控制流图。有这样的工具吗?如果我有控制流图,是否也可以生成源代码?
【问题讨论】:
标签: java control-flow
请参阅我公司的(语义设计)Java Front End。它将根据源代码计算control flow graphs for methods。
Java 前端构建在 DMS Software Reengineering Toolkit 之上,它提供了用于操作(解析、分析 [例如,提取控制流图])、转换和生成)代码的通用机制。
如果有一个特定的控制流图,DMS 提供了一种机制,使您能够构建一个图形遍历器,并且您可以从中合理地构建 Java AST,然后可以用来生成 Java 源代码。显然,您的控制流图必须使用能够轻松转换为 Java 概念的词汇(例如,没有 Prolog“统一这个”运算符),否则您将很难生成相应的 Java 代码。如果您从 Java 代码生成图表,情况显然是这样的。
【讨论】:
Sparx Systems' EA 有一个工具可以连接到调试器并生成 UML 序列图:
来自 Sparx 营销策略:
Enterprise Architect 中内置的调试器专门设计用于使开发人员或测试人员能够在“遍历”执行代码时捕获堆栈跟踪信息,对挂起的线程执行运行时检查。 然后,他们可以使用最终的堆栈跟踪历史记录在 Enterprise Architect 中生成序列图,将实际代码执行和调用转换为可视化图表。
我很确定这只是一种单向转换 - 没有往返。
【讨论】: