[Soot-list] Paddle error
Molnar Arthur
arthur486 at yahoo.com
Mon Oct 11 16:05:06 EDT 2010
Hello everyone,
I'm trying to use Paddle in order to build object sensitive callgraphs for
several open source applications; when running it in object sensitivity mode
using the buddy backend I receive the following error (the specific app is
FreeMind, latest version, using JDK 1.4.2):
Exception in thread "Thread-0" java.lang.RuntimeException: Value 16432 was too
large in domain soot.jimple.paddle.bdddomains.SigDomain!
at jedd.internal.Domain.setBits(Domain.java:62)
at jedd.internal.Jedd.literal(Jedd.java:158)
at soot.jimple.paddle.BDDVirtualCalls.<init>(BDDVirtualCalls.java:38)
at soot.jimple.paddle.BDDFactory.VirtualCalls(BDDFactory.java:199)
at soot.jimple.paddle.OFCGScene.build(OFCGScene.java:241)
at soot.jimple.paddle.OFCGScene.setup(OFCGScene.java:91)
at soot.jimple.paddle.OFCGConfig.setup(OFCGConfig.java:30)
at soot.jimple.paddle.PaddleScene.setup(PaddleScene.java:1321)
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 cg.TestCallGraph.run(TestCallGraph.java:91)
at java.lang.Thread.run(Thread.java:619)
My application is definitely NOT running out of memory, so there must be
something else at play here. If anybody has an idea regarding this error, please
help :). I have also attached the code that generates the error:
Options.v().set_whole_program(true);
Scene.v().loadBasicClasses();
Scene.v().setSootClassPath(SOOT_PATH);
Scene.v().setMainClass(Scene.v().loadClassAndSupport("freemind.main.FreeMindStarter"));
Scene.v().loadDynamicClasses();
SootClass cl =
Scene.v().loadClassAndSupport("freemind.view.mindmapview.NodeView");
cl.setApplicationClass();
HashMap optionsMap = new HashMap();
optionsMap.put("enabled", "true");
SceneTransformer sctform;
PhaseOptions.v().setPhaseOption("jb.ne", "enabled:false");
PhaseOptions.v().setPhaseOption("jb.uce", "enabled:false");
PhaseOptions.v().setPhaseOption("jb.dae", "enabled:false");
PhaseOptions.v().setPhaseOption("jb.ule", "enabled:false");
PhaseOptions.v().setPhaseOption("jb.cp-ule", "enabled:false");
PhaseOptions.v().setPhaseOption("jj", "enabled:false");
PhaseOptions.v().setPhaseOption("wstp", "enabled:false");
PhaseOptions.v().setPhaseOption("wsop", "enabled:false");
PhaseOptions.v().setPhaseOption("wjtp", "enabled:false");
PhaseOptions.v().setPhaseOption("wjop", "enabled:false");
PhaseOptions.v().setPhaseOption("wjap", "enabled:false");
PhaseOptions.v().setPhaseOption("shimple", "enabled:false");
PhaseOptions.v().setPhaseOption("stp", "enabled:false");
PhaseOptions.v().setPhaseOption("sop", "enabled:false");
PhaseOptions.v().setPhaseOption("jtp", "enabled:false");
PhaseOptions.v().setPhaseOption("jop", "enabled:false");
PhaseOptions.v().setPhaseOption("jap", "enabled:false");
PhaseOptions.v().setPhaseOption("gb", "enabled:false");
PhaseOptions.v().setPhaseOption("gop", "enabled:false");
PhaseOptions.v().setPhaseOption("bb", "enabled:false");
PhaseOptions.v().setPhaseOption("bop", "enabled:false");
PhaseOptions.v().setPhaseOption("tag", "enabled:false");
PhaseOptions.v().setPhaseOption("db", "enabled:false");
PhaseOptions.v().setPhaseOption("cg", "implicit-entry:false");
PhaseOptions.v().setPhaseOption("cg", "verbose:false");
PhaseOptions.v().setPhaseOption("cg", "jdkver:4");
PhaseOptions.v().setPhaseOption("cg", "all-reachable:true");
optionsMap.put("enabled", "true");
optionsMap.put("verbose", "true");
optionsMap.put("bdd", "true");
optionsMap.put("backend", "buddy");
optionsMap.put("context", "objsens");
optionsMap.put("propagator", "auto");
optionsMap.put("conf", "ofcg");
optionsMap.put("order", "32");
optionsMap.put("q", "auto");
optionsMap.put("set-impl", "double");
optionsMap.put("double-set-old", "hybrid");
optionsMap.put("double-set-new", "hybrid");
optionsMap.put("pre-jimplify", "false");
sctform = PaddleTransformer.v();
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20101011/e84f91b8/attachment.html
More information about the Soot-list
mailing list