Reverse Engineering from Mainframe Assembly to C Codes in Legacy Migration

This paper presents a method of constructing C programs from mainframe assembly programs. IBM mainframe assembly programs, which are called as subroutines from programs written in high-level language such as COBOL, are automatically translated into equivalent C programs. The assembly programs are co...

Full description

Saved in:
Bibliographic Details
Published in2016 5th IIAI International Congress on Advanced Applied Informatics (IIAI-AAI) pp. 1058 - 1063
Main Authors Fujiwara, Daisuke, Ishiura, Nagisa, Sakai, Ryo, Aoki, Ryo, Ogawara, Takashi
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.07.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:This paper presents a method of constructing C programs from mainframe assembly programs. IBM mainframe assembly programs, which are called as subroutines from programs written in high-level language such as COBOL, are automatically translated into equivalent C programs. The assembly programs are converted into intermediate representation (IR) of the SSA form on which dataflow analysis, recognition of control structures, and pattern match based transformation are applied to produce codes with readability. Our method features documentation of the translation process. Along with translation, correspondence between the source assembly codes and the resulting C codes are generated as documents, which plays very important role in manually correcting incomplete C codes from architecture dependent codes or self morphing codes. Furthermore, comments in the assembly programs are embedded into appropriate positions in the resulting C programs. A prototype system based on our method successfully translated some assembly codes into C program with function, if, and do-while structures.
DOI:10.1109/IIAI-AAI.2016.37