1
我想用Soot做一个Java程序的静态分析,包括例如控制流图。是否可以在不调用soot.Main.main(...)的情况下使用Soot分析?
各种tutorials说的“标准方式”使用煤烟是要创造一个一个添加自定义的转换到烟尘管道,然后调用soot.Main.main(...)主要方法:
public static void main(String[] args) {
PackManager.v().getPack("jtp").add(
new Transform("jtp.gotoinstrumenter", GotoInstrumenter.v()));
soot.Main.main(args);
}
当然,这如果您想在除命令行工具之外的其他位置使用Soot,则会有一些严重的限制。例如,我不清楚在程序中多次调用Soot的主要方法是否合法。
那么是否有人知道可以通过一个更复杂一点的API直接使用烟灰分析工具?
谢谢。自从我问这个问题以来,我学到了很多关于Soot的知识。我发现'G.reset()'对于单元测试非常有用。 – rolve
好的@rolve。 –