[Soot-list] The upcasting in soot

lulu chen chenlulu at mail.ustc.edu.cn
Tue Apr 21 10:38:21 EDT 2015


Hi, all

I'm considering Soot to develop some dataflow analysis in java class files.
I have a parent class class A and a child class  class B extends A ,

My question is that I cannot find type cast in jimple body. The upcasting
stmt a=b ,become r5=r3 (r5,r3 are the same type) , just a AssignStmt.

Ihe relationship between r2 and r5 is missing in the jimple file. How can I
get the relationship between r2 and r5 ( such as castexptr).

My example :

public class Ctest{

       public static void main(String [] args){

              A a = new A();

              B b = new B();

          a=b;

       }

}

The Jimple body  :

    public static void main(java.lang.String[])

    {

        java.lang.String[] r0;

        A $r1, r2;

        B r3, $r4, r5;

 

        r0 := @parameter0: java.lang.String[];

        $r1 = new A;

        specialinvoke $r1.< A: void <init>()>();

        r2 = $r1;

        $r4 = new B;

        specialinvoke $r4.< B: void <init>()>();

        r3 = $r4;

        r5 = r3;

        return;

    }

~Lulu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150421/780a7647/attachment-0001.html 


More information about the Soot-list mailing list