ERCIM News No.30 - July 1997

Software Renovation - Y2000, Euro, and All That

by Henk Nieland

Renovation of large so-called legacy systems becomes imperative for many companies. In the Resolver project (1996-1998) generic and pragmatic approaches to system renovation are explored. The research is performed by CWI, ID Research and the University of Amsterdam. Resolver is financed and supported by ABN AMRO Bank and Roccade (DPFinance) and subsidized by the Dutch Ministry of Economic Affairs.

Legacy systems are typically large, administrative, mainframe-oriented, often poorly documented systems. While still indispensable for the company's operation, their ever increasing maintenance costs hamper further organisational and business development, in particular migration to more open and flexible architectures. Until now progress in system renovation was limited: available commercial solutions are very rigid, technology specific, and based on poor program analysis techniques, relevant academic knowledge is not known to or applied by many companies, and system renovation as a research discipline is not recognized as such in academia.

Apart from creating awareness of existing research results and commercial tools, Resolver addresses three practical current problems in a generic system renovation approach:

The research in these case studies focuses on the analysis of existing legacy programs, and includes issues such as program structure, interdependence of variables, clustering of programs, formulation of queries on program sources, and repository models.

Results of Resolver are concentrated in Releases, of which the first one was issued end 1996. Some of these results follow below.

An introductory document Validating Year 2000 Compliance summarizes existing knowledge, with an emphasis on validation and quality control. After defining the 'millennium bug' problem, examples of COBOL fragments with and without date problems are given, followed by an overview of solution techniques and tools.

In a document Euro Conversion the problems of introducing the Single European Currency are treated. Starting with a survey of the expected consequences (considering politics, legislation, business risks and the like) several conversion scenarios are presented for single- and multi-currency systems.

The difficulties of transforming legacy code into object-oriented code were studied in a migration from COBOL to OO-COBOL. Four scenarios were tested on an existing mortgage administration system HYPOS. One scenario - data objectification - yielded the best results in terms of application flexibility and reuse.

An annotated bibliography of more than hundred articles on reverse engineering and system renovation revealed that, although re-engineering very much needs compiler technology, interaction of these fields is not extensive.

Figure: Steps in the renovation process:
(1) System analysis using language technology
(2) Global restructuring
(3) Incremental renovation per component.

Software Refinery (developed by Reasoning Systems) and the ASF+SDF Meta-Environment (developed by CWI and the University of Amsterdam) are generic systems for building tools for software analysis and conversion. A comparison revealed that the first system suits present-day re-engineering projects, whereas ASF+SDF has a great potential for developing new, sophisticated re-engineering techniques.

Resolver advocates a generic approach to renovation problems in which solutions can be instantiated for specific languages. In this approach the following necessary ingredients are studied:

Please contact:
Arie van Deursen - CWI
Tel: +31 20 592 4007

return to the contents page