[Soot-list] Interprocedural without transitive dependencies?

Eric Bodden eric.bodden at ec-spride.de
Wed Jul 11 03:57:00 EDT 2012


Hi Marc-Andre.

This looks very odd. I guess a little debugging would help there....
Normally, when -allow-phantom-refs is set you should not be able to
reach the line that throws this exception. Also, I was unable to find
any code in Soot that would reset this flag to false.

Eric

On 10 July 2012 14:17, Marc-Andre Laverdiere-Papineau
<marc-andre.laverdiere-papineau at polymtl.ca> wrote:
> Hello,
>
> Thanks to Phil's trick, I was able to get started with my custom entry
> points.
>
> Now I am getting another issue: as I am analyzing JEE applications, I
> keep on hitting one exception after another that a class file isn't
> found. e.g.
>
> Exception in thread "main" java.lang.RuntimeException: couldn't find
> class: org.jboss.aop.proxy.ClassProxy (is your soot-class-path set
> properly?)
>         at soot.SootResolver.bringToHierarchy(SootResolver.java:205)
>         at soot.SootResolver.bringToSignatures(SootResolver.java:239)
>         at soot.SootResolver.bringToBodies(SootResolver.java:280)
>         at soot.SootResolver.processResolveWorklist(SootResolver.java:150)
>         at soot.SootResolver.resolveClass(SootResolver.java:124)
>         at soot.Scene.loadClass(Scene.java:448)
>         at ca.polymtl.gigl.casi.darwini.SootMain$1.transform(SootMain.java:164)
>         at
> org.apache.commons.collections.CollectionUtils.collect(CollectionUtils.java:632)
>         at
> org.apache.commons.collections.CollectionUtils.collect(CollectionUtils.java:610)
>         at
> org.apache.commons.collections.CollectionUtils.collect(CollectionUtils.java:575)
>         at ca.polymtl.gigl.casi.darwini.SootMain.main(SootMain.java:161)
>
> And I can confirm that org.jboss is in my exclusions.
>
> So I am jar-hunting on Jarvana, every single time, which is no fun.
>
> The thing is, I have a lot of exclusions and I am running with
> -allow-phantom-refs and -no-bodies-for-excluded, which I would've
> guessed would've avoided this situation.
>
> I am running with a build of soot made a few days ago.
>
> So I end up with two questions: how exactly do exclusions work? and is
> there a way to turn off transitive dependency resolution in whole
> program mode?
> In other words, can I get a call graph without -w?
>
> --
> Marc-André Laverdière-Papineau
> Étudiant au doctorat - PhD Student
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list



-- 
Eric Bodden, Ph.D., http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Principal Investigator in Secure Services at CASED
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt


More information about the Soot-list mailing list