我需要一个工具来从java源代码生成控制流图。有这样的工具吗?如果我有控制流图,是否有可能生成源代码?
答案 0 :(得分:1)
Sparx Systems' EA有一个挂钩到调试器并生成UML序列图的工具:
来自Sparx营销高手:
Enterprise Architect中内置的调试器专门用于使开发人员或测试人员在执行代码时捕获堆栈跟踪信息,执行挂起线程的运行时检查。 然后,他们可以使用最终的堆栈跟踪历史记录在Enterprise Architect中生成序列图,将实际的代码执行和调用转换为可视化图表。
我很确定这只是一种单向转换 - 没有圆形跳闸。
答案 1 :(得分:1)
查看我公司的(语义设计)Java Front End。它将从源代码计算control flow graphs for methods。
Java前端构建在DMS Software Reengineering Toolkit之上,它提供了操作(解析,分析[例如,提取控制流图]),转换和生成代码的通用机制。
如果有一个特定的控制流图,DMS提供了一些机制,使您能够构建一个图形漫游器,从中可以合理地构建Java AST,然后可以用它来生成Java源代码。显然,您的控制流图必须使用易于转换为Java概念的词汇表(例如,没有Prolog“统一这个”运算符),否则您将更难以生成相应的Java代码。如果您从Java代码生成图表,情况显然就是这样。