[Soot-list] Jimple TypeResolver bug
Eric Bodden
bodden at st.informatik.tu-darmstadt.de
Thu Jun 2 05:59:02 EDT 2011
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
More information about the Soot-list
mailing list