[Soot-list] how to make sure my internalTransform is executed at the very end

Ishaq ishaq at ishaq.pk
Fri Jan 18 11:38:59 EST 2019


Hello,

My code essentially constructs def use chains (I store the Stmt/Unit
objects in a map). However, once the internalTransform has finished
running, some of them become null e.g. an IfStmt whose condition was "i23_1
>= 100", now looks has "0 >= 100" and it's target is now null.

I am assuming this happens because Soot optimizes away the unnecessary
variables (e.g. in the above case, it figured out that i23_1 was always
going to be 0 and hence, there was no need for conditional jump).

Problem is that I need my def-use chains to be constructed from the final
optimized soot shimple so that it remains valid when I use it later.

How do I ensure that my internalTransform is executed after Soot has made
all its changes to the code?

Thanks.
--
MI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20190118/03470fc3/attachment.html>


More information about the Soot-list mailing list