Empirical Research towards a Relevance Assessment of Software Clones
Author | : Saman Bazrafshan |
Publisher | : Logos Verlag Berlin GmbH |
Total Pages | : 270 |
Release | : 2017-06-30 |
ISBN-10 | : 9783832545093 |
ISBN-13 | : 3832545093 |
Rating | : 4/5 (93 Downloads) |
Download or read book Empirical Research towards a Relevance Assessment of Software Clones written by Saman Bazrafshan and published by Logos Verlag Berlin GmbH. This book was released on 2017-06-30 with total page 270 pages. Available in PDF, EPUB and Kindle. Book excerpt: Redundancies in program source code - software clones - are a common phenomenon. Although it is often claimed that software clones decrease the maintainability of software systems and need to be managed, research in the last couple of years showed that not all clones can be considered harmful. A sophisticated assessment of the relevance of software clones and a cost-benefit analysis of clone management is needed to gain a better understanding of cloning and whether it is truly a harmful phenomenon. This thesis introduces techniques to model, analyze, and evaluate versatile aspects of software clone evolution within the history of a system. We present a mapping of non-identical clones across multiple versions of a system, that avoids possible ambiguities of previous approaches. Though processing more data to determine the context of each clone to avoid an ambiguous mapping, the approach is shown to be efficient and applicable to large systems for a retrospective analysis of software clone evolution. The approach has been used in several studies to gain insights into the phenomenon of cloning in open-source as well as industrial software systems. Our results show that non-identical clones require more attention regarding clone management compared to identical clones as they are the dominating clone type for the main share of our subject systems. Using the evolution model to investigate costs and benefits of refactorings that remove clones, we conclude that clone removals could not reduce maintenance costs for most systems under study.