A knowledge-based maintenance of legacy systems: METASOFT

Abstract The maintenance of legacy systems is a continuous problem in the field of software maintenance. To assist in the maintenance of legacy systems, we have represented the legacy systems and the maintenance requirement in a compatible manner so that the maintenance requirement can be a clue for identifying the relevant program clauses and data items in the database. For this purpose, a maintenance component is represented by the maintenance mode (add, modify or delete) and property and key words. The corresponding information about the program's clauses is extracted from the source code of the legacy program by reverse engineering. The maintenance point identification algorithm—MPI algorithm—proposed in this research is theoretically complete and relatively efficient, and is proved so empirically. Using this approach, the system METASOFT has been developed for the Korea Electric Power Corporation which uses the COBOL programs and IMS database. It turns out that the system is well accepted by the users.

[1]  Alan R. Hevner,et al.  Using function abstraction to understand program behavior , 1990, IEEE Software.

[2]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[3]  Yuval Lirov,et al.  Computer-aided software engineering of expert systems , 1991 .

[4]  Wojtek Kozaczynski,et al.  A Knowledge-based Approach To Software System Understanding , 1991, Proceedings., 6th Annual Knowledge-Based Software Engineering Conference.

[5]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[6]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[7]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[8]  Linore Cleveland,et al.  A Program Understanding Support Environment , 1989, IBM Syst. J..

[9]  Wojtek Kozaczynski,et al.  Automated support for legacy code understanding , 1994, CACM.

[10]  Lawrence Markosian,et al.  Using an enabling technology to reengineer legacy systems , 1994, CACM.

[11]  Rangasami L. Kashyap,et al.  A Self-Organizing Knowledge Representation Scheme for Extensible Heterogenous Information Environment , 1992, IEEE Trans. Knowl. Data Eng..

[12]  Gordon Kotik,et al.  A program transformation approach to automating software re-engineering , 1990, Proceedings., Fourteenth Annual International Computer Software and Applications Conference.

[13]  Larry Press,et al.  The global diffusion of the Internet: patterns and problems , 1994, CACM.

[14]  William J. Premerlani,et al.  An approach for reverse engineering of relational databases , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[15]  S. R. Schach,et al.  Using automatic program decomposition techniques in software maintenance tools , 1989, Proceedings. Conference on Software Maintenance - 1989.

[16]  Bernard Moulin,et al.  Automated knowledge acquisition from regulatory texts , 1992, IEEE Expert.

[17]  Ted J. Biggerstaff,et al.  Design recovery for maintenance and reuse , 1989, Computer.

[18]  J. Chris Miller,et al.  Implications of automated restructuring of COBOL , 1987, SIGP.

[19]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[20]  Peter H. Aiken,et al.  DoD legacy systems: reverse engineering data requirements , 1994, CACM.

[21]  Ted J. Biggerstaff,et al.  Program understanding and the concept assignment problem , 1994, CACM.

[22]  Keith H. Bennett,et al.  Legacy Systems: Coping with Success , 1995, IEEE Softw..