Java コードまたは Java メソッドを制御フロー グラフ (CFG) に解析するために使用できる API または参照ライブラリはありますか。AST を CFG に変換しようとしましたが、 AST パーサーを使用して変換できませんでしたが、変換する方法が見つかりませんでした。私は Eclipse IDE JAVA (J2SE) に取り組んでいます。
親切に助けてください。
質問する
1548 次
2 に答える
1
doSomethingA;
while(B) {
doSomethingC;
doSomethingD;
if (E) {
doSomethingF;
}
else {
doSomethingG;
}
doSomethingH;
doSomethingI;
}
doSomethingJ;
基本ブロック:
- doSomethingA;
- テスト中
- doSomethingC; doSomethingD;
- doSomethingF;
- doSomethingG;
- doSomethingH; doSomethingI;
- doSomethingJ;
円弧:
- エントリ -> 1
- 1 -> 2
- 2 -> 3
- 2 -> 7
- 3 -> 4
- 3 -> 5
- 4 -> 6
- 5 -> 6
- 6 -> 2
- 7 -> 終了
データ構造として、基本ブロックにはステートメントのリストと出口アークのリストがあります。特定のタイプの分析のために、エントリ アークのリストを保持することもできます。また、各アークを表すデータ構造を持つか、単にブロックが他のブロックを指すようにするかを選択できます。
于 2014-10-16T18:40:15.783 に答える
0
はい、これは「コード ビジュアライザ」です。Java Eclipse で使用して、コードの CFG を自動的に生成できます: https://marketplace.eclipse.org/content/control-flow-graph-factory
于 2015-09-21T10:20:42.550 に答える