|
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
|
|
CITED BY 4
|
|
|
|
|
Mads Sig Ager , Olivier Danvy , Mayer Goldberg, A symmetric approach to compilation and decompilation, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
|
|
|
|
|