[Soot-list] Question about soot's dataflow analysis

Sai Zhang racezhang at gmail.com
Sun Jan 17 22:47:51 EST 2010


Hi all:

I found sometimes Soot's data flow analysis framework could not achieve
expected "accuracy".

For example, if I want to know the "Def-Use" variables involved in the
following statement:

array[i] = k;

The def var should be : array[]
and the use var should be: k

However, soot will transform bytecode to the following jimple:
 ....
       $r9 = r0.<BinaryHeap: java.lang.Comparable[] array>;
        $r10 = r0.<BinaryHeap: java.lang.Comparable[] array>;
        $r11 = $r10[i1];
        $r9[i0] = $r11;
.....

Thus, the use var become "array", which seems to  contradict the fact.

I am wondering is there any better way to reserve such "def-use" relations
in soot?

thanks

-Sai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20100117/697b4d88/attachment.html 


More information about the Soot-list mailing list