[Soot-list] Re(de)compilation of unmodified .class files

Patrick Lam plam at cs.mcgill.ca
Tue Apr 10 21:38:47 EDT 2007


Mario Mendez wrote:
> Say that you have two application classes A & B (no libraries). A uses
> B. A has been modified since the last time Soot was invoked but B not.
> When calling
> soot.Main -f jimple --app A
> , existing transformations (say, BodyTransformers) are called for BOTH
> classes. I'm looking for a way to avoid calling all the transformations
> in B, since I already stored my particular representation of that class
> in a file.
>     
> So the question is if that functionality is implemented in Soot in some
> way or I have to add it on my own.

That functionality is not implemented in Soot. But I wonder if you
really need A to be an application class; in your example, what do you
need to know about B? If you don't need to know anything about B except
for signatures, then you don't need to read it in. Please give more
details about what information you need from which classes.

I take it that you're not running Soot in whole-program mode, in which
case it would be really slow. I bet that what's taking a lot of time is
the resolving phase, and the transformations don't actually cost you
that much time. But I don't really know what you're doing, so I have to
guess. Soot can print out various timing statistics with the -time option.

pat



More information about the Soot-list mailing list