DocumentCode
1952954
Title
Assembler restructuring in FermaT
Author
Ward, M.
Author_Institution
Software Technol. Res. Lab., De Montfort Univ., Leicester, UK
fYear
2013
fDate
22-23 Sept. 2013
Firstpage
147
Lastpage
156
Abstract
The FermaT transformation system has proved to be a very successful tool for migrating from assembler to high level languages, including C and COBOL. One of the more challenging aspects facing automated migration, specifically when the aim is to produce maintainable code from unstructured “spaghetti” code, is to restructure assembler subroutines into semantically equivalent high level language procedures. In this paper we describe some of the many varieties of assembler subroutine structures and the techniques used by the migration engine to transform these into structured code. These transformations require a deep analysis of both control flow and data flow in order to guarantee the correctness of the result. Two separate case studies, involving over 10,000 assembler modules from commercial systems, demonstrate that these techniques are able to restructure over 99% of hand-written assembler, with no human intervention required.
Keywords
C language; COBOL; program assemblers; C; COBOL; FermaT transformation system; assembler subroutine structures; automated migration; control flow; data flow; deep analysis; high level languages; migration engine; unstructured spaghetti code; Algorithms; Business; Conferences; Engines; High level languages; Registers; Software;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation (SCAM), 2013 IEEE 13th International Working Conference on
Conference_Location
Eindhoven
Type
conf
DOI
10.1109/SCAM.2013.6648196
Filename
6648196
Link To Document