ACM Home Page
Please provide us with feedback. Feedback
A methodology for machine language decompilation
Full text PdfPdf (457 KB)
Source ACM Annual Conference/Annual Meeting archive
Proceedings of the 1974 annual conference - Volume 1 table of contents
Pages: 254 - 260  
Year of Publication: 1974
Authors
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 34,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800182.810410
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
M. H. Halstead, Machine Independence and Third Generation Computers, Proceedings FJCC, 1962, 587-592.
 
3
IBM, 1400 Autocoder to COBOL Conversion Aid Program (360A-SE-19X), White Plains, New York, 1967.
 
4
M.H. Halstead, Using the Computer for Program Conversion, Datamation, May 1970, pp. 125-129.
 
5
William A. Sassaman, A Computer Program to Translate Machine Language into Fortran, Proceedings SJCC, 21966, pp. 235-239.
 
6
7
 
8
F. E. Allen, Program Optimization, Annual Review in Automatic Programming, Vol. 5, Pergamon, 1969, pp. 239-307.
 
9
 
10
P. Barbe, Techniques for Automatic Program Translation, Software Engineering, Vol. 1, Academic Press Inc., 1970, pp. 151-165.
 
11
Frank Friedman, Private Communications, Purdue University, 1973.
12
13
 
14
F. E. Allen, J. Cocke, Graph-theoretic constructs for Program Control Flow Analysis, IBM Report RC3923, Yorktown Heights, July 1972.
 
15
16
 
17
A Jump sequence which terminates an instruction block is subject to a number of constraints as discussed in Reference 6.
 
18
SG{n} may be a single block or a strongly connected region (SCR) subject to certain constraints as described in Reference 6.
19


Collaborative Colleagues:
Barron C. Housel: colleagues
Maurice H. Halstead: colleagues