Reverse
Engineering of Object Oriented System using Hierarchical Clustering
Aman Jatain1 and Deepti
Gaur2
1Department of Computer Science, Amity University, India
2Department of Computer Science, North Cap University, India
Abstract: Now a day’s common problem faced by software community is to understand
the legacy code. A decade ago the legacy code referred as the code written in
language like Common Business Oriented Language (COBOL) or Formula Translation (FORTRAN).
Today software engineers primarily use object oriented language like C++ and
Java. This implies that tomorrow’s legacy code is written today because object
oriented programs are even more difficult and complex to understand which leads
us towards making software that is vague and having insufficient design
documentation. Object oriented programming produce many problems to software
developers in maintenance phase. So reverse engineering methodologies can be
applied to resolve it. In literature various techniques has been proposed by
researchers to recover the architecture and components of legacy systems. The
use of clustering algorithms has recently been discussed by many for reverse
engineering and architecture recovery. Methodology: In this paper Rational Software Architect
(RSA) is used to recover the design from source code during reverse engineering
process and then feature selection method is applied to select the features of
software system. Hierarchical clustering is used after calculating the
similarity measure between classes to cluster the similar classes into one
component. The proposed technique is demonstrated by a case study.
Keywords: Clustering, feature
selection, hierarchical, reverse engineering, rational software architect.
Received April 28, 2015; accepted November 29, 2015