A methodology for machine language decompilation

  • Authors:
  • Barron C. Housel;Maurice H. Halstead

  • Affiliations:
  • -;-

  • Venue:
  • ACM '74 Proceedings of the 1974 annual conference - Volume 1
  • Year:
  • 1974

Quantified Score

Hi-index 0.00

Visualization

Abstract

Machine language decompilation is the translation of machine (assembly) language instruction sequences into statements in a high-level algebraic language such as PL/1. This process can be viewed as the inverse of compilation. Decompilation can be used as an aid for program conversion and program documentation. A general methodology for decompilation that is independent of a particular source and target language is presented. The basic approach is to map the source machine language to a high-level representation, which is relatively machine and language independent, and then translate to the chosen target language. An experimental decompiler was implemented to translate Knuth's MIXAL assembly language into PL/1.