Historical perspective of code clone refactorings in evolving software

被引:0
|
作者
Kanwal, Jaweria [1 ,2 ]
Maqbool, Onaiza [2 ]
Basit, Hamid Abdul [3 ]
Sindhu, Muddassar Azam [2 ]
Inoue, Katsuro [4 ]
机构
[1] Natl Univ Moderns Languages, Software Engn Dept, Islamabad, Pakistan
[2] Quaid I Azam Univ, Comp Sci Dept, Islamabad, Pakistan
[3] Prince Sultan Univ, Coll Comp & Informat Sci, Riyadh, Saudi Arabia
[4] Osaka Univ, Grad Sch Informat Sci & Technol, Osaka, Japan
来源
PLOS ONE | 2022年 / 17卷 / 12期
关键词
CONTEXT;
D O I
10.1371/journal.pone.0277216
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
Cloning in software is generally perceived as a threat to its maintenance and that is why it needs to be managed properly. Understanding clones from a historical perspective is essential for effective clone management. Analysis of code refactorings performed on clones in previous releases will help developers in taking decisions about clone refactoring in future releases. In this paper we perform a longitudinal study on the evolution of clone refactorings in various versions of five software systems. To perform a systematic study on clone refactoring evolution, we define clone evolution patterns for studying refactorings in a formal notation. Our results show that only a small proportion of code clones are refactored between the versions and most of the refactorings are inconsistent within clone classes. Moreover, clone refactorings may cause clone removal. Analysis of the source code of refactored clones reveals similar reasons of inconsistent refactorings and clone removal for five Java systems. This analysis will help in devising appropriate strategies for managing clone refactorings in software and hence provide foundation for devising better clone management tools.
引用
收藏
页数:26
相关论文
共 50 条
  • [1] Tool Support for Managing Clone Refactorings to Facilitate Code Review in Evolving Software
    Chen, Zhiyuan
    Mohanavilasam, Maneesh
    Kwon, Young-Woo
    Song, Myoungkyu
    [J]. 2017 IEEE 41ST ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1, 2017, : 288 - 297
  • [2] Evolving Software Ecosystems A Historical and Ecological Perspective
    Mens, Tom
    [J]. DEPENDABLE SOFTWARE SYSTEMS ENGINEERING, 2015, 40 : 170 - 192
  • [3] CloneMap: A Clone-aware Code Inspection Tool in Evolving Software
    Fish, Alex
    Thuy Linh Nguyen
    Song, Myoungkyu
    [J]. 2018 IEEE INTERNATIONAL CONFERENCE ON ELECTRO/INFORMATION TECHNOLOGY (EIT), 2018, : 368 - 372
  • [4] Clone Management for Evolving Software
    Hoan Anh Nguyen
    Tung Thanh Nguyen
    Pham, Nam H.
    Al-Kofahi, Jafar
    Nguyen, Tien N.
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (05) : 1008 - 1026
  • [5] Clone refactoring inspection by summarizing clone refactorings and detecting inconsistent changes during software evolution
    Chen, Zhiyuan
    Kwon, Young-Woo
    Song, Myoungkyu
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2018, 30 (10)
  • [6] Tales from the Code #1: The Effective Impact of Code Refactorings on Software Energy Consumption
    Ournani, Zakaria
    Rouvoy, Romain
    Rust, Pierre
    Penhoat, Joel
    [J]. PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2021, : 34 - 46
  • [7] Scalable and Incremental Clone Detection for Evolving Software
    Nguyen, Tung Thanh
    Nguyen, Hoan Anh
    Al-Kofahi, Jafar M.
    Pham, Nam H.
    Nguyen, Tien N.
    [J]. 2009 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, CONFERENCE PROCEEDINGS, 2009, : 491 - 494
  • [8] Tracking code clones in evolving software
    Duala-Ekoko, Ekwa
    Robillard, Martin P.
    [J]. ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 158 - +
  • [9] ClemanX: Incremental Clone Detection Tool for Evolving Software
    Nguyen, Tung Thanh
    Nguyen, Hoan Anh
    Pham, Nam H.
    Al-Kofahi, Jafar M.
    Nguyen, Tien N.
    [J]. 2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, : 437 - 438
  • [10] Generic Code Cloning method for Detection of Clone Code in Software Development
    Haque, Syed Mohd Fazalul
    Srikanth, V.
    Reddy, E. Sreenivasa
    [J]. PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON DATA MINING AND ADVANCED COMPUTING (SAPIENCE), 2016, : 340 - 344