[Soot-list] How to use Paddle

Joe Qian owqian at gmail.com
Sun Mar 26 09:13:44 EST 2006


Hi everyone,
I just try to use Paddle to obtain a context-sensitive call graph.
When I run soot.Main() with (I use Paddle0.2, Jedd0.3 and ScableJBdd)

-p cg.paddle enabled:true
-p cg.paddle conf:cha-context
-p cg.paddle backend:sable;

the following problem occurs:

==================================================================
Soot started on Sun Mar 26 21:53:58 CST 2006
Unique table : weak 1031
Pooling dynamic 1000000
Cache kind none, size 1031, associativities 2
java.lang.NullPointerException
at
soot.jimple.paddle.TradReachableMethods.<init>(TradReachableMethods.java:37)
at soot.jimple.paddle.TradFactory.ReachableMethods(TradFactory.java:144)
at soot.jimple.paddle.CHAContextConfig.setup(CHAContextConfig.java:39)
at soot.jimple.paddle.PaddleScene.setup(PaddleScene.java:1308)
at soot.jimple.paddle.PaddleTransformer.setup(PaddleTransformer.java:84)
at
soot.jimple.paddle.PaddleTransformer.internalTransform(PaddleTransformer.java:45)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.jimple.paddle.PaddleHook.internalTransform(PaddleHook.java:43)
at soot.SceneTransformer.transform(SceneTransformer.java:39)
at soot.Transform.apply(Transform.java:89)
at soot.RadioScenePack.internalApply(RadioScenePack.java:60)
at
soot.jimple.toolkits.callgraph.CallGraphPack.internalApply(CallGraphPack.java:40)
at soot.Pack.apply(Pack.java:110)
at soot.PackManager.runWholeProgramPacks(PackManager.java:375)
at soot.PackManager.runPacks(PackManager.java:321)
at soot.Main.run(Main.java:203)
at soot.Main.main(Main.java:146)
====================================================================

Could any body give me some sujestion?
i'm also not very clear about how to use a context sensitive call graph.
Is there any example code to follow

-- 
Sincerely,
Joe 



More information about the Soot-list mailing list