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
soumya 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