[Soot-list] It takes so much time and space to perform a points-to analysis using SPARK

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Sun Sep 6 04:34:18 EDT 2009


Hi.

There must be something very wrong with your setup. For me Soot
finishes on your example in 51 seconds:

macbook /tmp/soottest$ java -Xmx800m -cp
/Users/eric/Documents/workspaces/abc/soot/lib/sootclasses-trunk.jar:/Users/eric/Documents/workspaces/abc/libs/jasminclasses-custom.jar:/Users/eric/Documents/workspaces/abc/libs/java_cup.jar
soot.Main -cp .:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar
-pp --app -p cg.spark on-fly-cg:true -w Foo
Soot started on Sun Sep 06 10:30:28 CEST 2009
No main class given. Inferred 'Foo' as main class.
[Call Graph] For information on where the call graph may be
incomplete, use the verbose option to the cg phase.
[Spark] Pointer Assignment Graph in 1.2 seconds.
[Spark] Type masks in 0.5 seconds.
[Spark] Pointer Graph simplified in 0.0 seconds.
[Spark] Propagation in 44.8 seconds.
[Spark] Solution found in 44.8 seconds.
Transforming Foo...
Writing to sootOutput/Foo.class
Soot finished on Sun Sep 06 10:31:19 CEST 2009
Soot has run for 0 min. 51 sec.
macbook /tmp/soottest$

I am surprised that you run out of memory. whole-program analysis does
require much memory but usually not that much.

What kind of machine and what JDK are you using?

Eric

2009/9/5 jnuzhjp <jnuzhjp at 163.com>:
>
> Hi
> I wanted to perform a points-to analysis using SPARK two hours ago, but it
> took me so long, uh, at least 10 minutes and more than 800m memory yet
> ending with a situation like this:
> The command was:
> Soot>java -Xmx800m soot.Main --app -p cg.spark on-fly-cg:true -w Foo
> I checked the task manager, the OS did allocate 850m memory to java
> process.
>
> And, the target source class file Foo.java was as simple as this:
> public class Foo
> {
>
> public static void main(String[] args)
> {
>
> Foo f = new Foo();
> int a = 7;
> int b = 14;
> int x = (f.bar(21) + a) * b;
>
> }
> public int bar(int n) {
> return n + 42;
> }
>
> }
>
> I don't know wether it was because some missing parts of configuration on my
> machine or just the performance problem of Soot that led to this failure.
> If the latter case, then it would be prohibitive to use this tool to perform
> points-to analysis even on a fairly small application.
>
> Is there anybody sharing the same experience?
>
> Any help will be greatly appricated. Thank you!
>
>
> Palmer
> 2009-09-06
> ________________________________
> jnuzhjp
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>



-- 
Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt


More information about the Soot-list mailing list