[Soot-list] Interprocedural without transitive dependencies?

Marc-Andre Laverdiere-Papineau marc-andre.laverdiere-papineau at polymtl.ca
Tue Jul 10 08:17:33 EDT 2012


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



More information about the Soot-list mailing list