[Soot-list] Combining -no-bodies-for-excluded and -cg paddle on:bdd

Severin Heiniger severinheiniger at gmail.com
Thu Mar 31 04:55:14 EDT 2011


Hi Eric,

thanks alot for your answer. I've since moved from OpenJDK to the IBM JDK
[1], which I recommend to anyone who's facing problems with the BDD version
of Paddle. As expected, -no-bodies-for-excluded can still not be used in
combination with this part of Paddle, but using -allow-phantom-refs doesn't
cause any problems. So it seems like Paddle is actually capable of handling
phantom classes.

Kind regards,
Severin

[1] Requires a modification of Paddle as explained at
http://www.sable.mcgill.ca/pipermail/soot-list/2007-September/001402.html

On Tue, Mar 29, 2011 at 8:54 AM, Eric Bodden <
bodden at st.informatik.tu-darmstadt.de> wrote:

> Hi Severin.
>
> I think the problem is that paddle is currently not compatible with
> -no-bodies-for-excluded. With this option enabled, any analysis needs
> to know what to do in case it encounters a phantom class. Apparently
> for paddle that's not the case.
>
> Eric
>
> On 29 March 2011 01:27, Severin Heiniger <severinheiniger at gmail.com>
> wrote:
> > Hi,
> >
> > I'm currently doing a whole-program analysis [1] on parts of a rather
> > extensive set of packages. As expected, only by using
> > -no-bodies-for-excluded and carefully choosing -x, the analysis
> terminates
> > in a reasonable amount of time. However, even for trivial Java programs,
> > when enabling BDD support in Paddle, Soot soon exits with the following
> > error message:
> >
> >> This operation requires resolving level HIERARCHY but
> >> java.nio.channels.spi.SelectorProvider is at resolving level DANGLING
> >>
> >> [...]
> >>
> >> at soot.jimple.paddle.BDDHierarchy.processNewType(BDDHierarchy.java:194)
> >
> > This library class is at resolving level DANGLING no matter if BDD
> support
> > is used or not. Does anybody know why this and other such classes are not
> > resolved to the level HIERARCHY or SIGNATURE even though this kind of
> > information is required by Paddle? Certainly, adding all such classes
> using
> > addBasicClass is not advisable.
> >
> > Besides, when removing -no-bodies-for-excluded, the BuDDy-supported
> > context-insensitive analysis (of a trivial Java program) runs for a few
> > minutes with a memory usage of about 700 MB. On my machine [2], it then
> > terminates with a segfault [3] or (more) gracefully with an out-of-memory
> > exception.
> >
> > Thanks a lot in advance for providing any helpful information regarding
> > these problems!
> >
> > Kind regards,
> > Severin
> >
> > [1] Nightly build of Soot etc. using [...] -w -app
> -no-bodies-for-excluded
> > -p paddle on [...]
> > [2] 32-bit Ubuntu 10.10 with OpenJDK 6
> > [3] [libjeddbuddy.so+0x26f05]  bdd_makenode+0x75
> >
> > _______________________________________________
> > Soot-list mailing list
> > Soot-list at sable.mcgill.ca
> > http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >
> >
>
>
>
> --
> Dr. Eric Bodden, http://bodden.de/
> Principal Investigator in Secure Services at CASED
> Coordinator of the CASED Advisory Board of Study Affairs
> PostDoc at Software Technology Group, Technische Universität Darmstadt
> Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
> Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20110331/095e9c03/attachment.html 


More information about the Soot-list mailing list