しばらくの間、私はSootのコントロールフローグラフを作成するのに苦労していましたが、私はちょっとtutorialsで迷子になりました。 EclipseプラグインとしてSootを使用するのではなく、SootをライブラリまたはAPIとして使用しようとしています。スートでコントロールフローグラフを作成するには?
私がやりたいことは、Javaプロジェクトがたくさんあることです。これらのプロジェクトのコントロールフローグラフを作成/生成したいと思います。また、Sootには、DOT形式のコントロールフローグラフを生成できるという特徴があることもわかりました。これは私にとっても受け入れやすいものです。
Sootを使用してコントロールフローグラフを作成/生成する方法を示すガイドやコードのサンプルは素晴らしいでしょう!
は、応答していただきありがとうございます。しかし、私は、Javaプロジェクトを入力として与え、出力をCFGとして受け取るオプションがあるのだろうかと思っていました。私がJavadocから見たものは、各クラスをSootClass、各メソッドをSootMethodとして割り当てる必要があるからです。あるいは、私は間違った道を歩いていますか? – Ekin
はい、誤解しているようです。 Sootは自動的にクラスをSootClassesに変換します。 Wiki on Githubのチュートリアルをご覧ください。 – Eric
私はGithubのWikiのチュートリアルに従いました。まず、https://github.com/Sable/soot/wiki/Introduction--Soot-as-a-command-line-toolの手順に従って、コマンドラインでSootを実行しようとしました。私はWin7でSootを実行することに言及することが重要です。与えられたコマンド 'java -cp soot-2.5.0.jar soot.Main -cpを入力すると、 -process-dir .. \ MyProject' java.util.regex.Patternをロード中にエラーが発生しました。しかし、 '-pp'でそれを使うと、' classfile:java.io.ObjectInputStream'を読み込めませんでした。残念ながら問題を乗り越える方法が見つかりませんでした。 – Ekin