Empirical Research towards a Relevance Assessment of Software Clones

Saman Bazrafshan

Diese Publikation zitieren

Saman Bazrafshan, Empirical Research towards a Relevance Assessment of Software Clones (2017), Logos Verlag, Berlin, ISBN: 9783832592707

Beschreibung / Abstract

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.

Inhaltsverzeichnis

  • BEGINN
  • I Prelude
  • 1 Introduction
  • 2 Related Research
  • II Studies
  • 3 Software Clone Rates
  • 4 Evolution of Software Clones
  • 5 Clone Removals and their Return on Investment
  • 6 Developers Fixing Cloned Bugs
  • 7 Approximative Code Search
  • III Finale
  • 8 Conclusion
  • Appendix
  • A Experiment
  • List of Figures
  • List of Tables
  • List of Examples
  • Glossary
  • Bibliography

Ähnliche Titel

    Mehr von diesem Autor