[Soot-list] running intra-procedural analysis before whole-program analysis

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Fri Jun 25 06:15:31 EDT 2010


Arnab,

I have not added two whole-program (!) packs before the "cg" pack:
wjpp and wspp. The former is the "Whole-Jimple Pre-processing pack"
and the latter is the same for Shimple, and only enabled in Shimple
mode. Both packs are only enabled in whole-program mode (-w flag).

Because those are whole-program packs you must use a SceneTransformer.
To iterate over all of your program's method bodies, just retrieve all
Application Classes from the Scene and iterate through all methods of
those classes.

Hope that helps,
Eric

--
Dr. Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt



On 25 June 2010 11:36, Arnab De <arnabde03 at gmail.com> wrote:
> In my opinion, there should be a intra-procedural pack between jb and
> cg. There must be many analyses which compute method summaries and
> compose them in the whole-program analysis; all of them will benefit
> from this. In fact, LLVM has the flexibility of adding transformations
> at different points in the transformation chain. Why should soot lack
> that feature?
>
> On Fri, Jun 25, 2010 at 2:22 PM, Eric Bodden
> <bodden at st.informatik.tu-darmstadt.de> wrote:
>>> Is there any way I can put the intra-procedural analysis in the jb
>>> pack? Looks ugly, but will it work in all cases?
>>
>> I am afraid not. The jb pack uses a special JimpleBodyPack class that
>> only invokes certain pre-defined analyses. I have had that same
>> problem before...
>>
>> I am wondering whether we should not just add another empty body pack
>> just before the cg pack so that one can just add body transformers in
>> there.
>>
>> Eric
>>
>


More information about the Soot-list mailing list