[Soot-list] Doubt in Pointers Analysis Result

Saswat Anand saswat at cc.gatech.edu
Wed Oct 27 20:20:15 EDT 2004


I am seeing something that does not really match up with my understanding of
context insensitive pointer analysis. Could you please explain the following
situation.

void fun1( )
{
    Test x = new Test();
    x.member = new Test();
}

void fun2( )
{
    Test y = new Test();
    Test z = new Test();
    y.member = z;
    fun1();
}

After the call to fun1() in fun2(), I expected that the field edge from y to
z would be intact ie." y.member = z" would still hold. But the field
sensitive spark thinks otherwise: it calculates that the call to fun1() may
write to 'member' field of y. Why is that so? Or I am making a mistake.

Thanks
Saswat




More information about the Soot-list mailing list