Reverse engineering PL/SQL legacy code: An experience report

Authors Martin Habringer
Michael Moser
Josef Pichler
Title Reverse engineering PL/SQL legacy code: An experience report
Booktitle Proceedings of the 30th International Conference on Software Maintenance and Evolution - ICSME 2014
Type in proceedings
ISBN 978-1-4799-6146-7
Month October
Year 2014
Pages 553-556 DOI 10.1109/ICSME.2014.93
SCCH ID# 1452

The reengineering of legacy code is a tedious endeavor. Automatic transformation of legacy code from an old technology to a new one preserves potential problems in legacy code with respect to obsolete, changed, and new business cases. On the other hand, manual analysis of legacy code without assistance of original developers is time consuming and error-prone. For the purpose of reengineering PL/SQL legacy code in the steel making domain, we developed tool support for the reverse engineering of PL/SQL code into a more abstract and comprehensive representation. This representation then serves as input for stakeholders to manually analyze legacy code, to identify obsolete and missing business cases, and, finally, to support the re-implementation of a new system. In this paper we briefly introduce the tool and present results of reverse engineering PL/SQL legacy code in the steel making domain. We show how stakeholders are supported in analyzing legacy code by means of general-purpose analysis techniques combined with domain-specific representations and conclude with some of the lessons learned.