|decompiler & static symbolic analysis email@example.com (Vijay Ganesh) (1996-11-07)|
|Re: decompiler & static symbolic analysis firstname.lastname@example.org (1996-11-18)|
|From:||Vijay Ganesh <email@example.com>|
|Date:||7 Nov 1996 20:43:58 -0500|
|Keywords:||disassemble, question, comment|
I have got a pretty interesting problem ( at least I think so). I am
trying to convert an assembly file into C file.
As a first step to conversion :- I split the assembly file into a
'basic blocks' and then generate a call graph out of it and do control
flow analysis. To generate the call graph I identify branch, jump,
and call instructions which change the sequential flow of control.
Now I also find the target instructions of these control
instructions. this is important to identify the basic blocks.
Now, the problem is that there are some instructions which jump on the
value of a processor register. that means until run time I cannot
determine the target of these instructions.
Is there some means (in say data flow analysis) wherein I can
determine with some accuracy the probable lines of the assembly code
to which the jump may occur, statically. (The assumption is that all
the code is in a single file).
Can static program slicing be used as a means of finding the finite
set of values that the accumulator might take while executing the
branch on accumulator value instruction?
Also can anybody give me info/pointer to material/people/web
sites/papers for 'static symbolic analysis' and 'symbolic execution'.
[As you're probably discovering, decompiling assembler into useful C is
a very hard problem. -John]
Return to the
Search the comp.compilers archives again.