[Soot-list] How to deal with "Return" using wjop.si from SOOT?
Zhoulai
zell08v at orange.fr
Wed May 22 09:49:41 EDT 2013
I guess it might help to put the code after inlining here. It can be seen
that the statement 'return 0' from foo() is abandonned by the analysis; I
was using this command line:
java -Xmx4096m soot.Main -f J -cp target/classes/ -pp -w -W -f J -p
wjop.sion tester.Test12 -d sootOutput_inline
public class tester.Test12 extends java.lang.Object
{
public void <init>()
{
tester.Test12 r0;
r0 := @this: tester.Test12;
specialinvoke r0.<java.lang.Object: void <init>()>();
return;
}
public static void main(java.lang.String[])
{
java.lang.String[] r0;
r0 := @parameter0: java.lang.String[];
return;
}
public static int foo()
{
return 0;
}
}
On Wed, May 22, 2013 at 11:39 AM, Zhoulai <zell08v at orange.fr> wrote:
> Hi, all,
>
> I have a naive question on how to deal with "RETURN" with the the wjop.sioptimisation from Soot. Typically, I want to verify the value of 'x' is
> zero after we call x = foo(); with ' foo' being a method that returns 0.
>
> Below is a running example. I think it is possible to do this with a
> simple intra-procedural value analysis (say, interval analysis) plus an
> inlining. However, I find out the "inlining" from wjop phase ignores
> 'return' (Probably this is not related with SOOT itself).
>
> My question is :
>
> whether SOOT already has some code transformation phase so that, for
> example, 'return a' will modify an artificial instance variable _a, which
> can then be captured by SOOT's inlining?
>
> Thank you. Below is the example code.
>
> Zhoulai
>
> public class Test12 {
> public static void main(String[] args) {
> int x;
> x = foo();;
> }
>
> public static int foo() {
> return 0;
>
> }
> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130522/8a136a2b/attachment.html
More information about the Soot-list
mailing list