Method and implementation for investigating code clones in a software system

被引:18
作者
Higo, Yoshiki
Kamiya, Toshihiro
Kusumoto, Shinji
Inoue, Katsuro
机构
[1] Osaka Univ, Grad Sch Infromat Sci & Technol, Dept Software Sci, Toyonaka, Osaka 560, Japan
[2] Natl Inst Adv Ind Sci & Technol, Informat Technol Res Inst, Tokyo 1010021, Japan
关键词
software maintenance; code clone; software understanding; software metrics;
D O I
10.1016/j.infsof.2006.10.005
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Maintaining software systems is becoming more difficult as the size and complexity of software increase. One factor that complicates software maintenance is the presence of code clones. A code clone is a code fragment that has identical or similar code fragments to it in the source code. Code clones are introduced for various reasons such as reusing code by 'copy and paste'. If modifying a code clone with many similar code fragments, we must consider whether to modify each of them. Especially for large-scale software, such a process is very complicated and expensive. In this paper, we propose methods of visualizing and featuring code clones to support their understanding in large-scale software. The methods have been implemented as a tool called Gemini, which has applied to an open source software system. Application results show the usefulness and capability of our system. (c) 2006 Elsevier B.V. All rights reserved.
引用
收藏
页码:985 / 998
页数:14
相关论文
共 17 条
  • [1] BAKER BS, 1995, SECOND WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, P86, DOI 10.1109/WCRE.1995.514697
  • [2] BAKER BS, 1992, COMPUTING SCIENCE AND STATISTICS : VOL 24, P49
  • [3] Advanced clone-analysis to support object-oriented system refactoring
    Balazinska, M
    Merlo, E
    Dagenais, M
    Lagüe, B
    Kontogiannis, K
    [J]. SEVENTH WORKING CONFERENCE ON REVERSE ENGINEERING - PROCEEDINGS, 2000, : 98 - 107
  • [4] Basit H.A., 2005, SIGSOFT SOFTW ENG NO, V30, P156, DOI DOI 10.1145/1095430.1081733
  • [5] Clone detection using abstract syntax trees
    Baxter, ID
    Yahin, A
    Moura, L
    Sant'Anna, M
    Bier, L
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, : 368 - 377
  • [6] Ducasse S., 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). `Software Maintenance for Business Change' (Cat. No.99CB36360), P109, DOI 10.1109/ICSM.1999.792593
  • [7] FOWLOR M, 1999, REFACTORING IMPROVIN
  • [8] JOHNSON JH, 1996, P 1996 C CTR ADV STU, P7
  • [9] CCFinder: A multilinguistic token-based code clone detection system for large scale source code
    Kamiya, T
    Kusumoto, S
    Inoue, K
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (07) : 654 - 670
  • [10] Kapser C, 2005, PROC IEEE INT CONF S, P305