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