An Empirical Study of Long-Lived Code Clones

被引:0
作者
Cai, Dongxiang [1 ]
Kim, Miryung [2 ]
机构
[1] Hong Kong Univ Sci & Technol, Hong Kong, Hong Kong, Peoples R China
[2] Univ Texas Austin, Austin, TX 78712 USA
来源
FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING | 2011年 / 6603卷
关键词
Software evolution; empirical study; code clones; refactoring; SUPPORT;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Previous research has shown that refactoring code clones as soon as they are formed or discovered is not always feasible or worthwhile to perform, since some clones never change during evolution and some disappear in a short amount of time, while some undergo repetitive similar edits over their long lifetime. Toward a long-term goal of developing a recommendation system that selectively identifies clones to refactor, as a first step, we conducted an empirical investigation into the characteristics of long-lived clones. Our study of 13558 clone genealogies from 7 large open source projects, over the history of 33.25 years in total, found surprising results. The size of a clone, the number of clones in the same group, and the method-level distribution of clones are not strongly correlated with the survival time of clones. However, the number of developers who modified clones and the time since the last addition or removal of a clone to its group are highly correlated with the survival time of clones. This result indicates that the evolutionary characteristics of clones may be a better indicator for refactoring needs than static or spatial characteristics such as LOG, the number of clones in the same group, or the dispersion of clones in a system.
引用
收藏
页码:432 / +
页数:4
相关论文
共 50 条
  • [1] An empirical study on inconsistent changes to code clones at the release level
    Bettenburg, Nicolas
    Shang, Weiyi
    Ibrahim, Walid M.
    Adams, Bram
    Zou, Ying
    Hassan, Ahmed E.
    SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (06) : 760 - 776
  • [2] Exception Evolution in Long-lived Java']Java Systems
    Osman, Haidar
    Chis, Andrei
    Corrodi, Claudio
    Ghafari, Mohammad
    Nierstrasz, Oscar
    2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, : 302 - 311
  • [3] Development nature matters: An empirical study of code clones in JavaScript applications
    Wai Ting Cheung
    Sukyoung Ryu
    Sunghun Kim
    Empirical Software Engineering, 2016, 21 : 517 - 564
  • [4] On the Relationships between Stability and Bug-proneness of Code Clones: An Empirical Study
    Rahman, Md Saidur
    Roy, Chanchal K.
    2017 IEEE 17TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2017, : 131 - 140
  • [5] Development nature matters: An empirical study of code clones in Java']JavaScript applications
    Cheung, Wai Ting
    Ryu, Sukyoung
    Kim, Sunghun
    EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (02) : 517 - 564
  • [6] How are functionally similar code clones syntactically different? An empirical study and a benchmark
    Wagner, Stefan
    Abdulkhaleq, Asim
    Bogicevic, Ivan
    Ostberg, Jan-Peter
    Ramadani, Jasmin
    PEERJ COMPUTER SCIENCE, 2016,
  • [7] Studying the laws of software evolution in a long-lived FLOSS project
    Gonzalez-Barahona, Jesus M.
    Robles, Gregorio
    Herraiz, Israel
    Ortega, Felipe
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2014, 26 (07) : 589 - 612
  • [8] How clones are maintained: An empirical study
    Aversano, Lerina
    Cerulo, Luigi
    Di Penta, Massimiliano
    CSMR 2007: 11TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS: SOFWARE EVOLUTION IN COMPLEX SOFTWARE INTENSIVE SYSTEMS, 2007, : 81 - +
  • [9] Empirical Study of Code Smell Impact on Software Evolution
    Zhang X.-F.
    Zhu C.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (05): : 1422 - 1437
  • [10] A Comparative Study of Software Bugs in Micro-clones and Regular Code Clones
    Islam, Judith F.
    Mondal, Manishankar
    Roy, Chanchal K.
    2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER), 2019, : 73 - 83