Title :
Assembly to high-level language translation
Author :
Cifuentes, Cristina ; Simon, Doug ; Fraboulet, Antoine
Author_Institution :
Dept. of Comput. Sci. & Electr. Eng., Queensland Univ., Brisbane, Qld., Australia
Abstract :
Translation of assembly code to high-level language code is of importance in the maintenance of legacy code, as well as in the areas of program understanding, porting, and recovery of code. We present techniques used in the asm2c translator, a SPARC assembly to C translator. The techniques involve data and control flow analyses. The data flow analysis eliminates machine dependencies from the assembly code and recovers high-level language expressions. The control flow analysis recovers control structure statements. Simple data type recovery is also done. The presented techniques are extensions and improvements on previously developed CISC techniques. The choice of intermediate representation allows for both RISC and CISC assembly code to be supported by the analyses. We tested asm2c against SPEC95 SPARC assembly programs generated by a C compiler. Results using both unoptimized and optimized assembly code are presented
Keywords :
data flow analysis; program assemblers; reverse engineering; software maintenance; asm2c translator; assembly code; data flow analysis; high-level language code; legacy code; machine dependencies; maintenance; Assembly; Computer science; Data analysis; Hardware; High level languages; Information analysis; Information systems; Portfolios; Reduced instruction set computing; Testing;
Conference_Titel :
Software Maintenance, 1998. Proceedings., International Conference on
Conference_Location :
Bethesda, MD
Print_ISBN :
0-8186-8779-7
DOI :
10.1109/ICSM.1998.738514