[Soot-list] Rebuilding the context sensitive call graph
khilan.gudka at imperial.ac.uk
Thu Jan 31 15:18:15 EST 2008
Dear Eric and Chris,
We're duplicating methods because the results of our context-sensitive
analysis lead to code being inserted.
What are the semantics of specialinvoke? Is it possible to replace
specialinvoke $r1.<init>() with virtualinvoke $r1.init(); ?
Chris Pickett wrote:
> Also, <init> and <clinit> are actually special method names in Java;
> renaming them is kind of like renaming java.lang.Object. Maybe you
> could overload them and use a dummy context type to differentiate.
> Eric Bodden wrote:
>> You would have to change these names back at the latest before you
>> write out the bytecode, as constructors have semantics different from
>> normal methods. Other Soot transformations also take these semantics
>> into account, so generally I would not recommend renaming them.
>> Why are you copying methods anyway? I thought the point of using
>> context was to avoid having to copy methods.
>> On 31/01/2008, Khilan Gudka <khilan.gudka at imperial.ac.uk> wrote:
>>> Dear all,
>>> Following on from my previous email, I have just realised that I am
>>> having problems with constructors. Constructors get translated into
>>> methods called <init>, is it possible to rename these to for example
>>> <init1>, <init2> etc?
>>> Khilan Gudka wrote:
>>>> Dear all,
>>>> I am trying to do the following:
>>>> 1) Duplicate each method for each calling context
>>>> 2) Rebuild Paddle's context sensitive call graph to take into account
>>>> this duplication.
>>>> I have coded the first step which duplicates methods and adds them to
>>>> their respective classes. However, I'm not sure how I can do the
>>>> second. I've tried previously to run Paddle twice but I get jni errors
>>>> saying that "bdd_init" has been called twice.
>>>> Any help would be appreciated
>>> Khilan Gudka
>>> PhD Student
>>> Department of Computing
>>> Imperial College London
>>> Soot-list mailing list
>>> Soot-list at sable.mcgill.ca
Department of Computing
Imperial College London
More information about the Soot-list