• DocumentCode
    3297616
  • Title

    Goto Elimination Strategies in the Migration of Legacy Code to Java

  • Author

    Ceccato, Mariano ; Tonella, Paolo ; Matteotti, Cristina

  • Author_Institution
    Fondazione Bruno Kessler-IRST, Trento
  • fYear
    2008
  • fDate
    1-4 April 2008
  • Firstpage
    53
  • Lastpage
    62
  • Abstract
    Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We have been recently involved in a migration project aiming at porting an old, large (8 MLOC) legacy banking system to a modern architecture. The goal of the project is: (I) moving from an old, proprietary language to Java; (2) replacing ISAM indexed files with a relational database; (3) upgrading the character oriented interface to a modern GUI. One of the steps in the migration process deals with the elimination of unstructured code (unconditional jumps such as GOTO statements). In this paper we present four alternative strategies for GOTO elimination that we evaluated in the project. Each has pros and cons, but when used in a real case, it turned out that one produced completely unreadable code, hence it was discarded. The final choice was a combination of the three remaining strategies.
  • Keywords
    Java; bank data processing; graphical user interfaces; relational databases; software maintenance; systems re-engineering; GOTO statement elimination strategy; GUI; ISAM indexed files; Java language; character oriented interface; graphical user interface; legacy code migration; legacy system maintenance; relational database; software reenginering; Banking; Displays; Graphical user interfaces; Java; Printers; Relational databases; User interfaces;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on
  • Conference_Location
    Athens
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-4244-2157-2
  • Type

    conf

  • DOI
    10.1109/CSMR.2008.4493300
  • Filename
    4493300