[Soot-list] Soot Wishlist

Eric Bodden eric.bodden at ec-spride.de
Fri Jan 6 12:22:34 EST 2012


Hi Aaloan.

> First a patch,

Tanks, I have committed the patch.

> Now for the wishlist,
> 1. A class transformer (there is a body transformer, and a scene transformer
> already, but no class transformer). This is useful for when you want to
> transform different members of classes based on the members declared.
> Granted we could use SceneTransformer, but to add such a transformer to an
> available pack would require us to enable whole program mode (which we don't
> really need/takes too much time). It would also be nice if there were 2
> packs available by default in soot for such transformers, one that is ran
> _before_ whole-program transformers and one that is ran _after_ body
> transformers.

This sounds useful and could be added, I think. Can you suggest two
good names and abbreviations for such packs?

> 2. Pre jimple body creation pack. This pack would be ran before a jimple
> body is parsed through the jb phase. This is important if we want to apply
> transformations before the jb phase.

That is a bit problematic. The question is what should transformations
in this pack operate on? After all, there are not even any Jimple
bodies yet. What is you particular use case?

> 3. If this wish is granted, than the previous two don't have to be. Ability
> to add our own packs, and insert them before/after other packs. I noticed we
> couldn't add to the jimple body pack, which was kind of disappointing.

That would be a rather large change to do now. At the moment, Soot
calls each pack individually "by name". I am not sure why Soot was
designed that way, but that's the way it is now. I am also not sure
that that much flexibility is needed. Most packs (except jj and jb)
can be modified.

Eric


More information about the Soot-list mailing list