DocumentCode
2458443
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
fYear
1998
fDate
16-20 Nov 1998
Firstpage
228
Lastpage
237
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 1998. Proceedings., International Conference on
Conference_Location
Bethesda, MD
ISSN
1063-6773
Print_ISBN
0-8186-8779-7
Type
conf
DOI
10.1109/ICSM.1998.738514
Filename
738514
Link To Document