[Soot-list] Callgraph generation with Paddle

Patrick Lam plam at cs.mcgill.ca
Thu Apr 22 11:32:37 EDT 2010


On 22/04/10 10:14 AM, François GOICHON wrote:
> Because of the apparent simplicity of this application, I am astonished
> that there are roughly 2150 classes loaded in the Soot Scene, doesn't it
> seem a lot ? Anyway, I start the analysis, which takes some minutes and
> terminates with a segfault inside libjeddbuddy (during pt.solve()),
> because I am running out of memory I suppose. I provided -Xmx512m
> -Xss256m as vm arguments.
> So my questions are:
>   - is it possible not to load all this classes, most of them being
> certainly loaded from unrealizable paths for my application (I actually
> tried not to use the full resolver option but then I add to add hundreds
> of addBasicClass(..., SIGNATURE|BODIES) and it was giving the same
> result anyway) ? Or to let Paddle dynamically load the needed classes
> when it encounters them ?
> - do I really need more memory for such a small program ??
>   - is there an easier way to build a context-sensitive callgraph with
> paddle (I am actually not sure what is going on within
> PaddleScene.solve()) ?
> I tried some different solutions from different existing applications
> using paddle without success.. I am quite lost and any hint or remark
> would be of great help for me.

As Eric said, it's better to use a SceneTransformer. But you'll still 
have many, many classes due to the Java library; using older JDKs will 
make your life better. And you'll probably need to provide more than 512 
megs.

Ondrej may have more comments here.

pat



More information about the Soot-list mailing list