who can help me?

lucefe <[email protected]>
Newsgroups gmane.comp.java.objectweb.asm
Message-ID <[email protected]>
Hi, everybody,

Now I want to write a symbolic execution engine based on ASM framework.

 For example: the bytecode of *"n.key = data"* is follow, I want to
collcet the ideal symbolic memory (a map) on the right:


                                   ideal symbolic memory
ALOAD 2     //load local variable n
          ===>            {(n, x1)}
ILOAD 1     //load local variable data
          ===>            {(n, x1), (data, x2)}
PUTFIELD src/Node.key : I  // set key field of n to data
 ===>           {(n,
x1), (data, x2), (x1.key, x2)}

For the first two instructions, I can invoke instrument a method to register
the variable.

 //////////////(invoke a method to create a symbolic menory item for "n"—the
second local variable
 *ALOAD 0*
*LDC <the name of the second local variable's name>
*===>       add (n, x1)
to symbolic memory
*INVOKESTATIC
src/EventHandler.addSymbolicMemory(Ljava/lang/Object;Ljava/lang/String;)V*

ALOAD 2     //load local variable n
//////////////(invoke a method to create a symbolic menory item for
"data:—the first local variable
 *ALOAD 0*
*LDC <the name of the first local variable's name>
*===>       add (data, x2) to symbolci memory
*INVOKESTATIC
src/EventHandler.addSymbolicMemory(Ljava/lang/Object;Ljava/lang/String;)*
ILOAD 1     //load local variable data
PUTFIELD src/Node.key : I  // set key field of n to data

*when I handle the third instruction, we can see the "key" field belong to
the Node object "n", but how can I get the name of the object on which the
PUTFIELD instruction operate? Because I only know the field name is "key",
and can't know whose "key" it is?*
**

Thank you for your help!

Best Regards!
**
message-footer.txt (text/plain, 238 B)
-- 
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.