TY - GEN
T1 - Cloning practices
T2 - 28th IEEE International Conference on Software Maintenance, ICSM 2012
AU - Zhang, Gang
AU - Peng, Xin
AU - Xing, Zhenchang
AU - Zhao, Wenyun
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
KW - Clone context
KW - Clone lifecycle
KW - Industrial study
KW - Software clones
UR - http://www.scopus.com/inward/record.url?scp=84873121846&partnerID=8YFLogxK
U2 - 10.1109/ICSM.2012.6405284
DO - 10.1109/ICSM.2012.6405284
M3 - Conference contribution
SN - 9781467323123
T3 - IEEE International Conference on Software Maintenance, ICSM
SP - 285
EP - 294
BT - Proceedings of the 28th IEEE International Conference on Software Maintenance, ICSM 2012
Y2 - 23 September 2012 through 28 September 2012
ER -