[Soot-list] instrumenting with soot class by class

David Vollmar kavika at the-dave.com
Thu Apr 17 17:33:18 EDT 2008


See comments below

On Apr 17, 2008, at 12:57 PM, Eric Bodden wrote:

>> how would I skip instrumenting a particular class? If I check the  
>> cache in
>> internalTransform() and return from that method without any  
>> changes, then
>> my instrumented class will be overwritten with the un-instrumented  
>> version
>> of the class. (Obviously the directory into which I place my  
>> instrumented
>> classes is not
>> part of my classpath when I run the instrumentation.)
>
> Ah now I am beginning to understand. So you are actually re-running
> Soot multiple times and Soot overwrites already-instrumented classes
> that way, right?

Exactly. I am using soot inside a dynamic testing tool. The code bases  
that will be tested with this tool are quite big. And since the code  
under test might
change I will have to re-run the instrumentation whenever a source  
file in the code under test has changed.

> Well, in this case things are indeed more tricky. I
> can imagine that this is something that one might want to solve with a
> build script, outside of Soot. If your script only gives Soot certain
> classes on the command line then only these will be instrumented by
> Soot. Might that work for you?
>

I have contemplated that approach, yet I would find it much more  
elegant if Soot would offer a feature that would take care of this  
particular issue.
I am guessing that more people would be interested in this particular  
performance improvement.

So I am contemplating digging into the internals of Soot in order to  
see whether I can implement this feature.
What do you think?

Regards

Kavika

> Eric
>
> -- 
> Eric Bodden
> Sable Research Group
> McGill University, Montréal, Canada




More information about the Soot-list mailing list