我對WALA很陌生,試圖通過一些簡單的例子來了解它。我試圖建立了非常簡單的類調用關係圖如下WALA呼叫圖
public class Example {
public static void main(String[] args) {
int x = 1;
int y = 1;
int z = x + y;
Math.pow(x, y); // issue here
}
}
我WALA代碼(有所簡化)是:
import com.ibm.wala.ipa.callgraph.*;
import com.ibm.wala.ipa.callgraph.impl.Util;
import com.ibm.wala.ipa.cha.ClassHierarchy;
import com.ibm.wala.util.WalaException;
import com.ibm.wala.util.config.AnalysisScopeReader;
...
AnalysisScope scope = AnalysisScopeReader.makeJavaBinaryAnalysisScope(jar, null);
ClassHierarchy cha = ClassHierarchy.make(scope);
Iterable<Entrypoint> entryPoints = Util.makeMainEntrypoints(scope, cha);
AnalysisOptions opts = new AnalysisOptions(scope, entryPoints);
AnalysisCache cache = new AnalysisCache();
CallGraphBuilder cgBuilder = Util.makeZeroCFABuilder(opts, cache, cha, scope);
CallGraph cg = cgBuilder.makeCallGraph(opts, null);
它時,例如沒有任何電話工作正常到主要內部的其他方法,但只是掛起(卡住cgBuilder.makeCallGraph
)。
任何意見是非常感謝。
您是否在示例java文件中導入了? –
我沒有,但添加了'import java.lang.Math'並重新運行,但仍然看到掛起。 – JPC