reengineering analysis of object-oriented systems via duplication analysis
All software systems, no matter how they are designed, are subject to continuous evolution and maintenance activities to eliminate defects and extend their functionalities. This is particularly true for object-oriented systems where we may develop different software systems using the same internal library or framework. These systems may evolve in quite different directions in order to cover different functionalities. Typically there is the need to analyze their evolution in order to redefine the library or framework boundaries. This is a typical problem of software reengineering analysis. In this paper we describe metrics, based on duplication analysis, that contribute to the process of reengineering analysis of object-oriented systems. These metrics are the basic elements of a reengineering analysis method and tool. A duplication analysis at file, class and method levels have been performed. A structural analysis using metrics that capture similarities in class structure has been also exploited. In order to identify the best approach for the reengineering analysis of object-oriented systems a comparison between the two approaches is described. In this paper a case study based on real cases is presented, in which the results obtained by using a reengineering process with and without the analysis tool is described. The purpose of this study is to discover which method is the most powerful and which time reduction can be obtained by its use.
reengineering object-oriented metrics clones detection doce duplication