Redesigning legacy systems into the object-oriented paradigm

W. E. Wong, J. J. Li

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Object-oriented languages support many modern programming paradigms such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are more reusable and reliable than those in non-OO. Many legacy software systems were created before OO programming became popular and needed to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code was often done manually or with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers' understanding of the original program. Such an approach is not sufficient, for it not only takes time and effort for designers to become familiar with the original program, but the approach itself is also mistake-prone due to the human involvement. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slice. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code as well as re-generate part of the system in C++ code based on this new OO design.

Original languageEnglish
Title of host publicationProceedings - 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 2003
EditorsPeter Puschner, Tatsuo Nakajima, Arif Ghafoor
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages221-229
Number of pages9
ISBN (Electronic)0769519288, 9780769519289
DOIs
StatePublished - 2003
Event6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 2003 - Hakodate, Hokkaido, Japan
Duration: 14 May 200316 May 2003

Publication series

NameProceedings - 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 2003

Conference

Conference6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 2003
Country/TerritoryJapan
CityHakodate, Hokkaido
Period14/05/0316/05/03

Keywords

  • code partition
  • execution slice
  • feature visualization
  • OO redesign
  • procedure/variable call graph
  • structural pattern
  • structure distance

Fingerprint

Dive into the research topics of 'Redesigning legacy systems into the object-oriented paradigm'. Together they form a unique fingerprint.

Cite this