Empirical Software Engineering

, Volume 21, Issue 4, pp 1476–1508

Code clones and developer behavior: results of two surveys of the clone research community

  • Debarshi Chatterji
  • Jeffrey C. Carver
  • Nicholas A. Kraft
Article

DOI: 10.1007/s10664-015-9394-4

Cite this article as:
Chatterji, D., Carver, J.C. & Kraft, N.A. Empir Software Eng (2016) 21: 1476. doi:10.1007/s10664-015-9394-4

Abstract

The literature presents conflicting claims regarding the effects of clones on software maintainability. For a community to progress, it is important to identify and address those areas of disagreement. Many claims, such as those related to developer behavior, either lack human-based empirical validation or are contradicted by other studies. This paper describes the results of two surveys to evaluate the level of agreement among clone researchers regarding claims that have not yet been validated through human-based empirical study. The surveys covered three key clone-related research topics: general information, developer behavior, and evolution. Survey 1 focused on high-level information about all three topics, whereas Survey 2 focused specifically on developer behavior. Approximately 20 clone researchers responded to each survey. The survey responses showed a lack of agreement on some major clone-related topics. First, the respondents disagree about the definitions of clone types, with some indicating the need for a taxonomy based upon developer intent. Second, the respondents were uncertain whether the ratio of cloned to non-cloned code affected system quality. Finally, the respondents disagree about the usefulness of various detection, analysis, evolution, and visualization tools for clone management tasks such as tracking and refactoring of clones. The overall results indicate the need for more focused, human-based empirical research regarding the effects of clones during maintenance. The paper proposes a strategy for future research regarding developer behavior and code clones in order to bridge the gap between clone research and the application of that research in clone maintenance.

Keywords

Code clones Clone evolution Clone management Software maintenance Developer behavior Community survey 

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Debarshi Chatterji
    • 1
  • Jeffrey C. Carver
    • 1
  • Nicholas A. Kraft
    • 2
  1. 1.University of AlabamaTuscaloosaUSA
  2. 2.ABB Corporate ResearchRaleighUSA

Personalised recommendations