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

Mario Mendez mario at cs.unm.edu
Tue Apr 10 21:19:41 EDT 2007


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.

Thank you!

Patrick Lam wrote:
> Mario Mendez wrote:
>> Hi guys,
>>
>> I noticed that Soot processes all the .class files every time is
>> invoked, independently of whether they have been modified or not. Is
>> there any flag to change that behavior?
>>
>> I'm trying to compile Jimple to another intermediate language (through a
>> SceneTransformer) and it would be really efficient to automatically
>> avoid calling it -and every single previous transformation- for those
>> .class that didn't change.
> 
> Hi Mario,
> 
> If you have no dependences between the different files that you're
> processing, then in principle Soot shouldn't need to create Jimple for
> the files that it's not updating, which would save you some time.  How
> closely linked are your different classes?  How many classes are
> application classes vs. library classes?
> 
> Note that Soot can read Jimple files, but that this doesn't seem to have
> saved us any time.
> 
> pat


More information about the Soot-list mailing list