On reverse engineering an object-oriented code into UML class diagrams incorporating extensible mechanisms

  • Authors:
  • Vinita;Amita Jain;Devendra K. Tayal

  • Affiliations:
  • Delhi University, Delhi, India;GGSIP University, Delhi, India;Jaypee Institute of Information Technology University, Noida, UP, India

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reverse engineering is the key idea for reconstruction of any existing system. In this paper, we propose an algorithm to reverse engineer an object-oriented code into Unified Modeling Language (UML) class diagram. Our algorithm is very general in nature and can be applied to any object-oriented code irrespective of the object-oriented programming language. In our paper we consider an object-oriented pseudocode similar to C++ to implement our algorithm. Some of the researchers have dealt in the past the problem of reverse engineering an object-oriented code to UML class diagrams. However, none of these researchers have treated all the constructs available in UML class diagrams. Unlike the previously done work on reverse engineering into UML, our algorithm generates rules for a complete set of constructs available in UML class diagrams. It includes classes, relationships, objects, attributes, operations, inheritance, associations, interfaces & other extensible mechanisms also. This algorithm can be viewed as a solution to reverse engineer any available object-oriented software. An application for the implementation of above said rules using C++ code is also included in the paper. We thoroughly compare our work with the similar type of earlier work in this area and uncover the deficiencies in these previous available works. Moreover our motive in this paper is to prepare rules to reverse engineer C++ code into UML class diagrams and not to generate any tools.