[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