[Wala-wala] WALA help- IR

36 views
Skip to first unread message

soumya shetty

unread,
Apr 3, 2009, 1:00:03 AM4/3/09
to wala...@lists.sourceforge.net, renu
Hi , 

I'm a starter in WALA . I'm trying to create a slice of a program using SlicerTest.java . I get the following output in IR . How do I interpret it ? Is there any help available regarding the IR representation ? Below is the IR of the slice. Please give me pointers on how to make sense out the IR.

Statement: NORMAL main:invokevirtual < Application, Ljava/io/PrintStream, println(I)V > 9,10 @19 exception:11 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
SLICE:

1   PARAM_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[1]5 = invokestatic < Application, Lslice/Test, foo(I)I > 3 @2 exception:4 v3
2   NORMAL_RET_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[1]5 = invokestatic < Application, Lslice/Test, foo(I)I > 3 @2 exception:4
3   PARAM_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[4]8 = invokestatic < Application, Lslice/Test, bar(I)I > 6 @9 exception:7 v6
4   NORMAL_RET_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[4]8 = invokestatic < Application, Lslice/Test, bar(I)I > 6 @9 exception:7
5   NORMAL main:9 = getstatic < Application, Ljava/lang/System, out, <Application,Ljava/io/PrintStream> > Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
6   NORMAL main:10 = binaryop(add) 5 , 8 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
7   NORMAL main:invokevirtual < Application, Ljava/io/PrintStream, println(I)V > 9,10 @19 exception:11 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
8   HEAP_PARAM_CALLEE:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >]
9   NORMAL bar:4 = binaryop(add) 1 , 3 Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
10   NORMAL bar:return 4 Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
11   PARAM_CALLEE:Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere v1
12   NORMAL_RET_CALLEE:Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
13   NORMAL foo:4 = binaryop(add) 1 , 3 Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere
14   NORMAL foo:return 4 Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere
15   PARAM_CALLEE:Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere v1
16   NORMAL_RET_CALLEE:Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere
17   HEAP_RET_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >] call:invokestatic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > @0 exception:2
18   HEAP_PARAM_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >] call:invokestatic < Application, Lslice/Test, main([Ljava/lang/String;)V > 3 @5 exception:8
19   HEAP_PARAM_CALLEE:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >]
20   HEAP_RET_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >] call:invokestatic < Primordial, Ljava/lang/System, <clinit>()V > @2 exception:4
21   HEAP_RET_CALLEE:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >]
22   HEAP_RET_CALLER:Node: synthetic < Primordial, Ljava/lang/System, <clinit>()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >] call:invokestatic < Primordial, Ljava/lang/System, initializeSystemClass()V > @1 exception:2
23   HEAP_RET_CALLEE:Node: synthetic < Primordial, Ljava/lang/System, <clinit>()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >]
24   NORMAL initializeSystemClass:13 = new <Primordial,Ljava/io/PrintStream>@11 Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere
25   NORMAL initializeSystemClass:putstatic 13 < Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> > Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere
26   HEAP_RET_CALLEE:Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere [< Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> >]


Thanks
Soumya

Manu Sridharan

unread,
Apr 3, 2009, 9:50:56 AM4/3/09
to WALA discussion and Q&A

Hi Soumya,

Here is some information on the IR:

http://wala.sourceforge.net/wiki/index.php/UserGuide:IR

And if you'd like to map the slice back to source code, there is some info on that here:

http://wala.sourceforge.net/wiki/index.php/UserGuide:MappingToSourceCode

Let us know if you have other questions.

Best,
Manu


Inactive hide details for soumya shetty ---04/03/2009 07:27:19 AM---Hi , I'm a starter in WALA . I'm trying to create a slice osoumya shetty ---04/03/2009 07:27:19 AM---Hi , I'm a starter in WALA . I'm trying to create a slice of a program using


From:

soumya shetty <soumya.s...@gmail.com>

To:

"wala...@lists.sourceforge.net" <wala...@lists.sourceforge.net>

Cc:

renu <renish.p...@gmail.com>

Date:

04/03/2009 07:27 AM

Subject:

[Wala-wala] WALA help- IR




Hi , 

I'm a starter in WALA . I'm trying to create a slice of a program using SlicerTest.java . I get the following output in IR . How do I interpret it ? Is there any help available regarding the IR representation ? Below is the IR of the slice. Please give me pointers on how to make sense out the IR.

Statement: NORMAL main:invokevirtual < Application, Ljava/io/PrintStream, println(I)V > 9,10 @19 exception:11 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
SLICE:

1   PARAM_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[1]5 = invokestatic < Application, Lslice/Test, foo(I)I > 3 @2 exception:4 v3
2   NORMAL_RET_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[1]5 = invokestatic < Application, Lslice/Test, foo(I)I > 3 @2 exception:4
3   PARAM_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[4]8 = invokestatic < Application, Lslice/Test, bar(I)I > 6 @9 exception:7 v6
4   NORMAL_RET_CALLER:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere[4]8 = invokestatic < Application, Lslice/Test, bar(I)I > 6 @9 exception:7
5   NORMAL main:9 = getstatic < Application, Ljava/lang/System, out, <Application,Ljava/io/PrintStream> > Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
6   NORMAL main:10 = binaryop(add) 5 , 8 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
7   NORMAL main:invokevirtual < Application, Ljava/io/PrintStream, println(I)V > 9,10 @19 exception:11 Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere
8   HEAP_PARAM_CALLEE:Node: < Application, Lslice/Test, main([Ljava/lang/String;)V > Context: Everywhere < Primordial, Ljava/lang/System, out, >

9   NORMAL bar:4 = binaryop(add) 1 , 3 Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
10   NORMAL bar:return 4 Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
11   PARAM_CALLEE:Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere v1
12   NORMAL_RET_CALLEE:Node: < Application, Lslice/Test, bar(I)I > Context: Everywhere
13   NORMAL foo:4 = binaryop(add) 1 , 3 Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere
14   NORMAL foo:return 4 Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere
15   PARAM_CALLEE:Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere v1
16   NORMAL_RET_CALLEE:Node: < Application, Lslice/Test, foo(I)I > Context: Everywhere

17   HEAP_RET_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere < Primordial, Ljava/lang/System, out, > call:invokestatic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > @0 exception:2
18   HEAP_PARAM_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere < Primordial, Ljava/lang/System, out, > call:invokestatic < Application, Lslice/Test, main([Ljava/lang/String;)V > 3 @5 exception:8


19   HEAP_PARAM_CALLEE:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeRootMethod()V > Context: Everywhere < Primordial, Ljava/lang/System, out, >

20   HEAP_RET_CALLER:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > Context: Everywhere < Primordial, Ljava/lang/System, out, > call:invokestatic < Primordial, Ljava/lang/System, <clinit>()V > @2 exception:4


21   HEAP_RET_CALLEE:Node: synthetic < Primordial, Lcom/ibm/wala/FakeRootClass, fakeWorldClinit()V > Context: Everywhere < Primordial, Ljava/lang/System, out, >

22   HEAP_RET_CALLER:Node: synthetic < Primordial, Ljava/lang/System, <clinit>()V > Context: Everywhere < Primordial, Ljava/lang/System, out, > call:invokestatic < Primordial, Ljava/lang/System, initializeSystemClass()V > @1 exception:2


23   HEAP_RET_CALLEE:Node: synthetic < Primordial, Ljava/lang/System, <clinit>()V > Context: Everywhere < Primordial, Ljava/lang/System, out, >

24   NORMAL initializeSystemClass:13 = new <Primordial,Ljava/io/PrintStream>@11 Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere
25   NORMAL initializeSystemClass:putstatic 13 < Primordial, Ljava/lang/System, out, <Primordial,Ljava/io/PrintStream> > Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere
26   HEAP_RET_CALLEE:Node: synthetic < Primordial, Ljava/lang/System, initializeSystemClass()V > Context: Everywhere < Primordial, Ljava/lang/System, out, >


Thanks
Soumya------------------------------------------------------------------------------
_______________________________________________
Wala-wala mailing list
Wala...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wala-wala


Reply all
Reply to author
Forward
0 new messages