[Soot-list] A flexible no-bodies option?
Marc-Andre Laverdiere-Papineau
marc-andre.laverdiere-papineau at polymtl.ca
Wed Jun 27 15:46:15 EDT 2012
Hello,
I am using a whole program analysis with a lot of exclusions. Running
spark I get this error:
Exception in thread "main" java.lang.RuntimeException: This operation
requires resolving level HIERARCHY but sun.misc.ClassFileTransformer is
at resolving level DANGLING
If you are extending Soot, try to add the following call before calling
soot.Main.main(..):
Scene.v().addBasicClass(sun.misc.ClassFileTransformer,HIERARCHY);
I understand from previous mailing list messages that this would be due
to the fact that I am allowing no bodies for excluded.
The thing is: if I disable that option, the analysis explodes in term of
memory usage and I have to kill it.
So what compromises are there? I don't want to repeat the analysis and
catch exceptions dynamically and try to find a way to add a basic class,
because that is a lot of CPU wasted.
Also, trying to have a perfect list of Scene.v().addBasicClass() is
definitely not going to happen, and I'll need to add a bunch of those
every time I analyze a different application.
Is there a way to tell soot to load a class at the needed level rather
than throwing that exception? If not, would you please vaguely let me
know how I can implement that?
--
Marc-André Laverdière-Papineau
Étudiant au doctorat - PhD Student
More information about the Soot-list
mailing list