Cloning practices: Why developers clone and what can be changed

Gang Zhang*, Xin Peng, Zhenchang Xing, Wenyun Zhao

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

28 Citations (Scopus)

Abstract

Code clones are similar code segments. Researchers have proposed many techniques to detect, understand and eliminate code clones. However, due to lack of deeper understanding of reasons of cloning practices, especially from personal and organizational perspectives, little effective support can be provided to alleviate maintenance problems caused by code clones. In this paper, we report an industrial study on investigating reasons of cloning practices in large-scale software development from technical, personal, and organizational perspectives. Our study involves code analysis, questionnaire survey, and interviews with developers, and gathers solid empirical data about how developers clone and why during different phases of clones' lifecycle in industrial development. The results of our study suggest that cloning is not simply a technical issue; it must be interpreted and understood in larger context in which code clones occur and evolve. Within these contexts, there are several adjustable factors and two critical points that affect the introduction, existence, and removal of clones. These adjustable factors and critical points reveal opportunities to improve cloning practices in industrial development from technical, personal, and organizational perspectives.

Original languageEnglish
Title of host publicationProceedings of the 28th IEEE International Conference on Software Maintenance, ICSM 2012
Pages285-294
Number of pages10
DOIs
Publication statusPublished - 2012
Externally publishedYes
Event28th IEEE International Conference on Software Maintenance, ICSM 2012 - Riva del Garda,Trento, Italy
Duration: 23 Sept 201228 Sept 2012

Publication series

NameIEEE International Conference on Software Maintenance, ICSM

Conference

Conference28th IEEE International Conference on Software Maintenance, ICSM 2012
Country/TerritoryItaly
CityRiva del Garda,Trento
Period23/09/1228/09/12

Fingerprint

Dive into the research topics of 'Cloning practices: Why developers clone and what can be changed'. Together they form a unique fingerprint.

Cite this