[Soot-list] Bug in dava phase or decompiling phase at a constant or buffer size
Cristina Ilie
crysgirlro at yahoo.com
Sat Dec 17 06:15:32 EST 2011
Hello,
I found a new bug in soot, I think it's something related to Dava phase or earlier to the decompiling phase. I discovered it because all it's ok
when I run my tool (which extends soot) on expression like "double [] w = {1,2,3,4,5}" as long as the size of the array is smaller then 12...
For these expressions my tool receives the Jimple code as "w[0] = 1; w[1] =2 ... " and for each assignment add a loop before it, a loop which
initializes something for its calculations. The idea is that all is ok until I introduce something with the size >= 12, like:
"double [] w = {1,2,3,4,5,6,7,8,9,10,11,12}". At this moment the last loop becomes an endlessness loop "while (true) ..." and it's impossible to
obtain this kind of loop ...
Further I discovered that only when I'm trying to run "Dava Decompile App" on the following function [1], soot is not able to finish the
transformation. It hangs up at "Analyzing C:\Users\Cris\work\AppSource\sootOutput\dava\src\AppSource.java... ", consuming 25% of my
processor. Soot encounters this problem when I'm adding more than 10 elements to z (>=). For instance if I have the statement: "z=w[0]+w[1]+w[2]+w[3]+w[4]+w[5]+w[6]+w[7]+w[8];" there is no problem.
I suppose the problem is related to a buffer size, a constant definition etc.
[1]
public static double compute (double x){
double z;
double w[] = new double[12];
z=w[0]+w[1]+w[2]+w[3]+w[4]+w[5]+w[6]+w[7]+w[8]+w[9];
return z;
}
Cristina
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20111217/fd6c0482/attachment-0001.html
More information about the Soot-list
mailing list