[Soot-list] a problem in the points-to analysis using SPARK

Zhang Yufeng yuffonzhang at 163.com
Thu Mar 14 22:47:10 EDT 2013


I have tried soot2.5 and soot2.3.
The results are the same.

The jimple code for the method Use.go() is :

=======================
public void go()
    {
        Use r0;
        Container $r1, r2, r4, $r7;
        Item r3, r5, $r6, $r8;
        r0 := @this: Use;
        $r1 = new Container;
        specialinvoke $r1.<Container: void <init>()>();
        r2 = $r1;
        $r6 = new Item;
        specialinvoke $r6.<Item: void <init>()>();
        r3 = $r6;
        virtualinvoke r2.<Container: void setItem(Item)>(r3);
        $r7 = new Container;
        specialinvoke $r7.<Container: void <init>()>();
        r4 = $r7;
        $r8 = new Item;
        specialinvoke $r8.<Item: void <init>()>();
        r5 = $r8;
        virtualinvoke r4.<Container: void setItem(Item)>(r5);
        return;
    }
====================


The points-to set obtained by statement reachingObjects(local) for r2 (Container c1) is :
new set: empty
old set: bits:{15, 20, 25, 45, 473, 796, 6863, 6865}
AllocNode 15 DEFAULT_CLASS_LOADER in method null,
AllocNode 20 PRIVILEGED_ACTION_EXCEPTION in method null,
AllocNode 25 Pair AbstractObject,Any_subtype_of_java.lang.Thread in method null,
AllocNode 45 Pair AbstractObject,Any_subtype_of_java.security.PrivilegedActionException in method null,
AllocNode 473 Pair AbstractObject,Any_subtype_of_java.lang.ClassLoader in method null,
AllocNode 796 Pair AbstractObject,Any_subtype_of_java.lang.Object in method null,
AllocNode 6863 new Container in method <Use: void go()>,
AllocNode 6865 new Container in method <Use: void go()>,


points-to set for r4 (Container c2) is :
new set: empty
old set: bits:{15, 20, 25, 45, 473, 796, 6863, 6865}
AllocNode 15 DEFAULT_CLASS_LOADER in method null,
AllocNode 20 PRIVILEGED_ACTION_EXCEPTION in method null,
AllocNode 25 Pair AbstractObject,Any_subtype_of_java.lang.Thread in method null,
AllocNode 45 Pair AbstractObject,Any_subtype_of_java.security.PrivilegedActionException in method null,
AllocNode 473 Pair AbstractObject,Any_subtype_of_java.lang.ClassLoader in method null,
AllocNode 796 Pair AbstractObject,Any_subtype_of_java.lang.Object in method null,
AllocNode 6863 new Container in method <Use: void go()>,
AllocNode 6865 new Container in method <Use: void go()>,

These are the same.

I guess that this is because some options are not configured properly.

Best.
Yufeng





发件人: Quentin Sabah 
发送时间: 2013-03-15  03:13:39 
收件人: soot-list 
抄送: 
主题: Re: [Soot-list] a problem in the points-to analysis using SPARK 
 
> I am debugging on this example.
> I find that the statement
> Scene.v().getPointsToAnalysis().reachingObjects(local loc);
> gets the same reaching points-to sets for variable 'Container c1' and 'Container c2'.
> This is strange.
It is strange. What is the content of these points-to sets using toString(), and their class type using getClass().toString() ?
What version of soot are you using? Have you tried different versions?
-- 
Quentin Sabah, CIFRE Ph.D. student
Grenoble University
INRIA-SARDES                   | STMicroelectronics/AST
Montbonnot, France             | Grenoble, France
mailto:quentin.sabah at inria.fr  | mailto:quentin.sabah at st.com
phone: +33 476 61 52 42        | phone: +33 476 58 44 14
_______________________________________________
Soot-list mailing list
Soot-list at sable.mcgill.ca
http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130315/60b72d3b/attachment-0001.html 


More information about the Soot-list mailing list