[Soot-list] Howto generate a CallGraph?
Marco Bakera
marco.bakera at uni-dortmund.de
Fri Apr 18 02:52:11 EDT 2008
Hey everybody,
I try to generate a call graph from a given class. I thought the following
snippet would do but ran into troubles.
public CallGraphCreator(String clazz) {
G.reset();
Scene.v().setSootClassPath("/home/bakera/tools/jdk1.5.0_15/jre/lib/rt.jar");
// SootClass sootClass = Scene.v().loadClassAndSupport(clazz);
String opts = "-w -keep-line-number -x javax " + clazz;
// sootClass.setApplicationClass();
// Scene.v().setMainClass(sootClass);
Main.main(opts.split(" "));
CallGraph callGraph = Scene.v().getCallGraph();
}
public static void main(String[] args) {
new CallGraphCreator(CallGraphCreator.class.getName());
}
When starting the program I get the following stacktrace.
Exception in thread "main" java.lang.RuntimeException: couldn't find class:
javax.crypto.Cipher (is your soot-class-path set properly?)
at soot.SootResolver.bringToHierarchy(SootResolver.java:139)
at soot.SootResolver.bringToSignatures(SootResolver.java:172)
at soot.SootResolver.bringToBodies(SootResolver.java:214)
at soot.SootResolver.processResolveWorklist(SootResolver.java:100)
at soot.SootResolver.resolveClass(SootResolver.java:89)
at soot.Scene.tryLoadClass(Scene.java:305)
at soot.Scene.loadBasicClasses(Scene.java:855)
at soot.Scene.loadNecessaryClasses(Scene.java:881)
at soot.Main.run(Main.java:170)
at soot.Main.main(Main.java:146)
at
de.metaframe.plugin.soot2jabc.CallGraphCreator.<init>(CallGraphCreator.java:32)
at
de.metaframe.plugin.soot2jabc.CallGraphCreator.main(CallGraphCreator.java:39)
What's the common way to create a simple call graph? Thanks for any hint/code
snippet/pointer in documentation on this. :)
Greetings from Germany,
Marco.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20080418/7b3f39c5/attachment.bin
More information about the Soot-list
mailing list