Title :
Mandrake: a tool for reverse-engineering IBM assembly code
Author :
Morris, Paul ; Filman, Robert
Author_Institution :
Software Technol. Center, Lockheed Martin Missiles & Space, Palo Alto, CA, USA
Abstract :
Assembly language code provides both a daunting challenge and a sterling opportunity for software reengineering. Ideally, one would like a system which, when fed assembly code, would automatically produce quality, maintainable high-level programs. That ideal, if not impossible, is certainly far beyond current technology. However, automation can profitably be applied to part of the task of reverse engineering assembly code, by producing a “draft” of a high-level language version, to be verified modified and polished by competent software reengineers. The authors describe their progress in developing a reengineer´s apprentice to aid reverse engineering of handwritten IBM 370 assembly code by automatically translating it to a higher-level form. The paper explores the problems that arise and some potential solutions, and describes the implementation of Mandrake, a system that performs an interesting collection of the reengineer´s apprentice tasks
Keywords :
assembly language; program assemblers; program interpreters; reverse engineering; software tools; systems re-engineering; IBM assembly code reverse engineering; Mandrake tool; assembly language code; automatic translation; automation; handwritten IBM 370 assembly code; high-level language version; reengineer apprentice; software reengineering; Assembly systems; Automation; Costs; High level languages; Humans; Levitation; Missiles; Software systems; Space technology; Workstations;
Conference_Titel :
Reverse Engineering, 1996., Proceedings of the Third Working Conference on
Conference_Location :
Monterey, CA
Print_ISBN :
0-8186-7674-4
DOI :
10.1109/WCRE.1996.558863