是否有任何API或引用库可用于将java代码或java方法解析为控制流图(CFG)。我试图将AST转换为CFG,但无法使用AST Parser,但没有找到任何方法。我正在开发Eclipse IDE JAVA(J2SE)
请帮忙。
doSomethingA;
while(B) {
doSomethingC;
doSomethingD;
if (E) {
doSomethingF;
}
else {
doSomethingG;
}
doSomethingH;
doSomethingI;
}
doSomethingJ;
基本块:
- 做某事A
- while test
- doSomethingC;doSomethingD
- doSomethingF
- doSomethingG
- doSomethingH;做某事I
- doSomethingJ
电弧:
- 条目->1
- 1->2
- 2->3
- 2->7
- 3->4
- 3->5
- 4->6
- 5->6
- 6->2
- 7->退出
作为一种数据结构,基本块有一个语句列表和一个出口弧列表。对于某些类型的分析,还可以保留入口弧的列表,并且可以选择具有表示每个弧的数据结构,或者简单地使块指向其他块。
是的,is"代码可视化工具"您可以将其与Java Eclipse一起使用,自动为代码生成CFG:https://marketplace.eclipse.org/content/control-flow-graph-factory