[Soot-list] Jimple TypeResolver bug

Heejong Lee heejong at gmail.com
Thu Jun 2 06:18:41 EDT 2011


Hi, Eric.

It's a part of hudson library. Source and compiled byte-codes are attached.

Regards,

On Thu, Jun 2, 2011 at 6:59 PM, Eric Bodden
<bodden at st.informatik.tu-darmstadt.de> wrote:
> Hello Heejong Lee.
>
> Can you show us what the Java source code for this method looks like?
> It appears that there is a problem with multiple variables having the
> same name.
>
> Eric
>
> On 2 June 2011 10:57, Heejong Lee <heejong at gmail.com> wrote:
>> Hi,
>>
>> I've got a bug of jimple transformation like following:
>>
>> BufferedReader in = new BufferedReader(new InputStreamReader(new
>> FileInputStream(queueFile)));
>>>>>>>
>>  181         tmp = new java.io.BufferedReader;
>>  182         tmp = new java.io.InputStreamReader;
>>  183         tmp = new java.io.FileInputStream;
>>  184         specialinvoke tmp.<java.io.FileInputStream: void
>> <init>(java.io.File)>(queueFile);
>>  185         specialinvoke tmp.<java.io.InputStreamReader: void
>> <init>(java.io.InputStream)>(tmp);
>>  186         specialinvoke tmp.<java.io.BufferedReader: void
>> <init>(java.io.Reader)>(tmp);
>>
>> This IL is obviously incorrect. When I replace
>> soot.jimple.toolkits.typing.fast.TypeResolver.split_new()
>> with an empty method, the correct output is generated:
>>
>>  181         $r2 = new java.io.BufferedReader;
>>  182         $r0 = new java.io.InputStreamReader;
>>  183         $r1 = new java.io.FileInputStream;
>>  184         specialinvoke $r1.<java.io.FileInputStream: void
>> <init>(java.io.File)>(queueFile);
>>  185         specialinvoke $r0.<java.io.InputStreamReader: void
>> <init>(java.io.InputStream)>($r1);
>>  186         specialinvoke $r2.<java.io.BufferedReader: void
>> <init>(java.io.Reader)>($r0);
>>
>> What's the purpose of split_new() ?
>> (my executing options are "-p jb use-original-names:true
>> -allow-phantom-refs -f jimple" and removing
>> use-original-names option also resolves the problem.)
>>
>> Regards,
>>
>> --
>> Heejong Lee
>>
>> Associate Research Engineer
>> Program Analysis Division
>> Fasoo.com, Inc. (www.spa-arrow.com)
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>
>
>
> --
> Dr. Eric Bodden, http://bodden.de/
> Principal Investigator in Secure Services at CASED
> Coordinator of the CASED Advisory Board of Study Affairs
> PostDoc at Software Technology Group, Technische Universität Darmstadt
> Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
> Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt
>



-- 
Heejong Lee

Associate Research Engineer
Program Analysis Division
Fasoo.com, Inc. (www.spa-arrow.com)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hudson_sample.tgz
Type: application/x-gzip
Size: 33983 bytes
Desc: not available
Url : http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20110602/1189d32f/attachment-0001.tgz 


More information about the Soot-list mailing list