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 条
  • [21] An empirical study to improve software security through the application of code refactoring
    Mumtaz, Haris
    Alshayeb, Mohammad
    Mahmood, Sajjad
    Niazi, Mahmood
    INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 96 : 112 - 125
  • [22] How Multiple Developers Affect the Evolution of Code Clones
    Harder, Jan
    2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2013, : 30 - 39
  • [23] Empirical Study on Code Smells in iOS Applications
    Rahkema, Kristiina
    Pfahl, Dietmar
    2020 IEEE/ACM 7TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS, MOBILESOFT, 2020, : 61 - 65
  • [24] An Empirical Study of Architectural Changes in Code Commits
    Cui, Di
    Guo, Jiaqi
    Liu, Ting
    Zheng, Qinghua
    THE 12TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE, INTERNETWARE 2020, 2021, : 11 - 20
  • [25] Code Clones in Feature-Oriented Software Product Lines
    Schulze, Sandro
    Apel, Sven
    Kaestner, Christian
    ACM SIGPLAN NOTICES, 2011, 46 (02) : 103 - 112
  • [26] An Investigation into the Characteristics of Merged Code Clones during Software Evolution
    Choi, Eunjong
    Yoshida, Norihiro
    Inoue, Katsuro
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2014, E97D (05): : 1244 - 1253
  • [27] Are There Functionally Similar Code Clones in Practice?
    Kaefer, Verena
    Wagner, Stefan
    Koschke, Rainer
    2018 IEEE 12TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC), 2018, : 2 - 8
  • [28] Towards a Curated Collection of Code Clones
    Tempero, Ewan
    2013 7TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC), 2013, : 53 - 59
  • [29] Aspectualization of code clones—an algorithmic approach
    Samuel A. Ajila
    Angad S. Gakhar
    Chung‐Horng Lung
    Information Systems Frontiers, 2014, 16 : 835 - 851
  • [30] An empirical study of Android behavioural code smells detection
    Prestat, Dimitri
    Moha, Naouel
    Villemaire, Roger
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (07)