Empirical Research towards a Relevance Assessment of Software Clones
Table of contents
269 pages, year of publication: 2017
price: 47.00 EUR
Stichworte/keywords: software clones, clone detection, clone evolution, software engineering
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.
Wollen auch Sie Ihre Dissertation veröffentlichen?