Evaluating clone detection techniques from a refactoring perspective

被引:24
|
作者
Van Rysselberghe, F [1 ]
Demeyer, S [1 ]
机构
[1] Univ Antwerp, Lab On Re Engn, B-2020 Antwerp, Belgium
关键词
D O I
10.1109/ASE.2004.1342759
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In the last decade, several researchers have investigated techniques to automatically detect duplicated code in programs exceeding hundreds of thousands lines of code. All of these techniques have known merits and deficiencies, but as of today, little is known on how these techniques fit into the refactoring process of object-oriented systems. This paper compares three representative detection techniques (simple line matching, parameterized matching, and metric fingerprints) by means of five small to medium sized cases and analyses the differences between the reported matches. Based on this comparison, we conclude that (1) simple line matching is best suited for a partial, yet advanced restructuring with little effort; (2) metric fingerprints work best for refactoring a system with minimal effort; (3) parameterized matching demands more effort yet allows a more profound, less obvious restructuring of the code.
引用
收藏
页码:336 / 339
页数:4
相关论文
共 50 条
  • [1] Refactoring Code Clone Detection
    Othman, Zhala Sarkawt
    Kaya, Mehmet
    [J]. 2019 7TH INTERNATIONAL SYMPOSIUM ON DIGITAL FORENSICS AND SECURITY (ISDFS), 2019,
  • [2] Finding Code Clone Refactoring Techniques by Mapping Clone Context
    Baars, Simon
    Oprescu, Ana
    [J]. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2023, 11950 LNCS : 344 - 357
  • [3] Detection Technology and Application of Clone Refactoring
    Yao Yongting
    Liu Dongsheng
    Zhang Liping
    [J]. PROCEEDINGS OF THE 2018 2ND INTERNATIONAL CONFERENCE ON MANAGEMENT ENGINEERING, SOFTWARE ENGINEERING AND SERVICE SCIENCES (ICMSS 2018), 2018, : 128 - 133
  • [4] Increasing clone maintenance support by unifying clone detection and refactoring activities
    Tairas, Robert
    Gray, Jeff
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2012, 54 (12) : 1297 - 1307
  • [5] JDeodorant: Clone Refactoring
    Mazinanian, Davood
    Tsantalis, Nikolaos
    Stein, Raphael
    Valenta, Zackary
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 613 - 616
  • [6] A Survey of Software Clone Detection From Security Perspective
    Zhang, Haibo
    Sakurai, Kouichi
    [J]. IEEE ACCESS, 2021, 9 : 48157 - 48173
  • [7] A survey on clone refactoring and tracking
    Mondal, Manishankar
    Roy, Chanchal K.
    Schneider, Kevin A.
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 159
  • [8] Clone Refactoring with Lambda Expressions
    Tsantalis, Nikolaos
    Mazinanian, Davood
    Rostami, Shahriar
    [J]. 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 60 - 70
  • [9] Analysis and Visualization for Clone Refactoring
    Zibran, Minhaz F.
    [J]. 2015 IEEE 9TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC), 2015, : 47 - 48
  • [10] A Method of Program Refactoring based on Code Clone Detection and Impact Analysis
    Takahashi, Masakazu
    Nanba, Reiji
    Anang, Yunarso
    Uchiyama, Tatsuya
    Watanabe, Yoshimichi
    [J]. 2016 55TH ANNUAL CONFERENCE OF THE SOCIETY OF INSTRUMENT AND CONTROL ENGINEERS OF JAPAN (SICE), 2016, : 673 - 678