[Soot-list] Not jimplify entire java standard library
in whole-program mode
Manu Sridharan
manu_s at eecs.berkeley.edu
Sun May 7 21:26:30 EDT 2006
Hi Thomas,
If you need a sound points-to analysis result for your application code,
the library must be analyzed, for example to properly handle Vectors:
Object o = new Object(); // object o1
Vector v = new Vector();
v.add(o);
p = v.get(0);
Without analyzing the code of Vector, Spark will not discover that p can
point to o1. Similarly, you might miss important call graph information
if the library is not analyzed, e.g., because of callbacks. My guess is
you'll just have to pay the full cost of Jimple construction on each
run. There have been discussions on this list about speeding up the
Jimple construction phase, but it seems like a difficult software
engineering problem.
-Manu
Thomas Finsterbusch wrote:
> As I understand it from the soot documentation and the mailing list archive,
> soot looks at the entire standard library when running an analysis in
> whole-proram mode. "Looking at" means it jimplifies the classes, but it does
> not apply the jimple-phase transformations (at least not by default), since
> they are considered library classes and not application classes.
>
> Now, is it possible for me to turn off the jimplification process also? I want
> to perform a data flow analysis on my own .class files, but I don't want the
> overhead of indexing the entire standard library, which costs me about 2.5
> minutes and 1GB of RAM every time I run my analysis with soot. I need to run
> it in whole-program mode because I need access to the call graph and possibly
> the spark points-to analysis.
>
> Am I overlooking something?
>
> --Thomas
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
More information about the Soot-list
mailing list