A formal mechanism for analysis and re-implementation of legacy programs

  • Dimitrios Maglaras

    Student thesis: Doctoral Thesis


    The last ten years of this century have been characterized as a period of software crisis. The need for information is growing day by day and the formal development tools have been proven insufficient to serve this need. This led software engineers to the creation of new technologies that would be more efficient in the manipulation of the data and the development of software systems. However, what will happen with all those large software applications that have been developed in the past, under formal development tools such as 3rd GLs? In the real world there are too many software applications, developed using 3rd GLs, still working in business and there are many reasons why these applications need to be modified in order to keep on running effectively.

    The introduction of EURO as global currency in Europe is a well-known problem concerning these old applications. In most cases the documentation describing the requirements, design and implementation of the legacy software systems does not exist or is too poor to make sense. This thesis will provide a mechanism to regain design and implementation information of a software system examining its source code. The mechanism is based on a software tool that will be able to extract useful information from the source code of an old application.

    The modularization of the information, concerning the design and implementation analysis of the software system, into smaller pieces of information, describes the scheme that will be used in order to retrieve, manipulate and finally provide this information to the users. This scheme treats the pieces of information, which are gathered from the source code, as separate objects related to each other. These objects together with their relations will be stored into a semantic network (database). The contents of this database will be browsed in such a way that will provide critical and meaningful information about the implementation and design of the software system. A software module, called parser, will be developed, which will be able to extract pieces of information by parsing all the source files of the old application line by line.

    This information is stored into a semantic network and a separate tool will be configured in order to retrieve information from the semantic network and provide it on the screen using a GUI. In the first chapter an introduction to this research project takes place. In the second chapter the documentation gathered concerning the research area of software analysis and reuse is studied and analyzed. In the third chapter all the requirements and specifications of the proposed mechanism are set.

    Chapters four and five present the design and implementation of the semantic network that will contain the pieces of information gathered from the source code and the source code parser. In the sixth chapter the developed mechanism is tested against its specifications. Finally, in the seventh chapter the analysis of a large industry, data-processing software application takes place.
    Date of AwardSep 2001
    Original languageEnglish


    • computer programs

    Cite this