Tracking code clones in evolving software

被引:0
作者
Duala-Ekoko, Ekwa [1 ]
Robillard, Martin P. [1 ]
机构
[1] McGill Univ, Sch Comp Sci, Montreal, PQ H3A 2T5, Canada
来源
ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS | 2007年
基金
加拿大自然科学与工程研究理事会;
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Code clones are generally considered harmful in software development, and the predominant approach is to try to eliminate them through refactoring. However, recent research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain clone groups. We propose a technique for tracking clones in evolving software. Our technique relies on the concept of abstract clone region descriptors (CRD), which describe clone regions within methods in a robust way that is independent from the exact text of the clone region or its location in a file. We present our definition of CRDs, and describe a complete clone tracking system capable of producing CRDs from the output of a clone detection tool, notify developers of modifications to clone regions, and support the simultaneous editing of clone regions. We report on two experiments and a case study conducted to assess the performance and usefulness of our approach.
引用
收藏
页码:158 / +
页数:2
相关论文
共 50 条
[21]   A Code Inspection Tool by Mining Recurring Changes in Evolving Software [J].
Fish, Alex ;
Thuy Linh Nguyen ;
Song, Myoungkyu .
6TH INTERNATIONAL WORKSHOP ON SOFTWARE MINING (SOFTWAREMINING), 2017, :48-51
[22]   Evolving Software Trace Links between Requirements and Source Code [J].
Rahimi, Mona ;
Cleland-Huang, Jane .
2019 IEEE/ACM 10TH INTERNATIONAL WORKSHOP ON SOFTWARE AND SYSTEMS TRACEABILITY (SST 2019), 2019, :12-12
[23]   Mining Performance Regression Inducing Code Changes in Evolving Software [J].
Luo, Qi ;
Poshyvanyk, Denys ;
Grechanik, Mark .
13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), 2016, :25-36
[24]   Evolving software trace links between requirements and source code [J].
Rahimi, Mona ;
Cleland-Huang, Jane .
EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) :2198-2231
[25]   Evolving software trace links between requirements and source code [J].
Mona Rahimi ;
Jane Cleland-Huang .
Empirical Software Engineering, 2018, 23 :2198-2231
[26]   Governing the commons: code ownership and code-clones in large-scale software development [J].
Sundelin, Anders ;
Gonzalez-Huerta, Javier ;
Torkar, Richard ;
Wnuk, Krzysztof .
EMPIRICAL SOFTWARE ENGINEERING, 2025, 30 (02)
[27]   Clonepedia: Summarizing Code Clones by Common Syntactic Context for Software Maintenance [J].
Lin, Yun ;
Xing, Zhenchang ;
Peng, Xin ;
Liu, Yang ;
Sun, Jun ;
Zhao, Wenyun ;
Dong, Jinsong .
2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, :341-350
[28]   DebCheck: Efficient Checking for Open Source Code Clones in Software Systems [J].
Cordy, James R. ;
Roy, Chanchal K. .
2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, :217-+
[29]   Towards A Novel Conceptual Framework for Analyzing Code Clones to Assist in Software Development and Software Reuse [J].
Rajakumari, Kavitha Esther .
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND CONTROL SYSTEMS (ICICCS 2020), 2020, :105-111
[30]   Analyzing and Forecasting Near-miss Clones in Evolving Software: An Empirical Study [J].
Zibran, Minhaz F. ;
Saha, Ripon K. ;
Asaduzzaman, Muhammad ;
Roy, Chanchal K. .
2011 16TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS), 2011, :295-304