Reverse Engineering of Object Oriented System using Hierarchical Clustering

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

Read 2157 times Last modified on Sunday, 26 August 2018 03:14
Share
Top
We use cookies to improve our website. By continuing to use this website, you are giving consent to cookies being used. More details…