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 条
[31]   Analyzing and forecasting near-miss clones in evolving software: An empirical study [J].
Department of Computer Science, University of Saskatchewan, Saskatoon, SK S7N 5C9, Canada .
Proc. - IEEE Int. Conf. Eng. Complex Comput. Syst., ICECCS, (295-304)
[32]   Software provenance tracking at the scale of public source code [J].
Guillaume Rousseau ;
Roberto Di Cosmo ;
Stefano Zacchiroli .
Empirical Software Engineering, 2020, 25 :2930-2959
[33]   Software provenance tracking at the scale of public source code [J].
Rousseau, Guillaume ;
Di Cosmo, Roberto ;
Zacchiroli, Stefano .
EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (04) :2930-2959
[34]   A comparative study of test code clones and production code clones? [J].
van Bladel, Brent ;
Demeyer, Serge .
JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 176
[35]   Detecting Architecturally-Relevant Code Smells in Evolving Software Systems [J].
Bertran, Isela Macia .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1090-1093
[36]   CloneMap: A Clone-aware Code Inspection Tool in Evolving Software [J].
Fish, Alex ;
Thuy Linh Nguyen ;
Song, Myoungkyu .
2018 IEEE INTERNATIONAL CONFERENCE ON ELECTRO/INFORMATION TECHNOLOGY (EIT), 2018, :368-372
[37]   Creating and Evolving Software by Searching, Selecting and Synthesizing Relevant Source Code [J].
Poshyvanyk, Denys ;
Grechanik, Mark .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, :283-+
[38]   Code Inspection Support for Recurring Changes with Deep Learning in Evolving Software [J].
Ayinala, Krishna Teja ;
Cheng, Kwok Sun ;
Oh, Kwangsung ;
Song, Teukseob ;
Song, Myoungkyu .
2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, :931-942
[39]   Tool Support for Code Change Inspection with Deep Learning in Evolving Software [J].
Ayinala, Krishna Teja ;
Cheng, Kwok Sun ;
Oh, Kwangsung ;
Song, Myoungkyu .
2020 IEEE INTERNATIONAL CONFERENCE ON ELECTRO INFORMATION TECHNOLOGY (EIT), 2020, :13-17
[40]   SPCP-Miner: A Tool for Mining Code Clones That Are Important for Refactoring or Tracking [J].
Mondal, Manishankar ;
Roy, Chanchal K. ;
Schneider, Kevin A. .
2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, :484-488