DocumentCode
2866371
Title
Cloning practices: Why developers clone and what can be changed
Author
Gang Zhang ; Xin Peng ; Zhenchang Xing ; Wenyun Zhao
Author_Institution
Sch. of Comput. Sci., Fudan Univ., Shanghai, China
fYear
2012
fDate
23-28 Sept. 2012
Firstpage
285
Lastpage
294
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.
Keywords
organisational aspects; program diagnostics; software maintenance; cloning practices; code analysis; code clones; code segments; industrial development; large-scale software development; maintenance problems; organizational perspectives; Cloning; Conferences; Context; Interviews; Open source software; Software maintenance; Clone context; Clone lifecycle; Industrial study; Software clones;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location
Trento
ISSN
1063-6773
Print_ISBN
978-1-4673-2313-0
Type
conf
DOI
10.1109/ICSM.2012.6405284
Filename
6405284
Link To Document