• 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