ACM Home Page
Please provide us with feedback. Feedback
Using a clone genealogy extractor for understanding and supporting evolution of code clones
Full text PdfPdf (123 KB)
Source ACM SIGSOFT Software Engineering Notes archive
Volume 30 ,  Issue 4  (July 2005) table of contents
SESSION: Mining Software Repositories (MSR) table of contents
Pages: 1 - 5  
Year of Publication: 2005
ISSN:0163-5948
Also published in ...
Authors
Miryung Kim  University of Washington, Seattle
David Notkin  University of Washington, Seattle
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 52,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1082983.1083146
What is a DOI?

ABSTRACT

Programmers often create similar code snippets or reuse existing code snippets by copying and pasting. Code clones---syntactically and semantically similar code snippets---can cause problems during software maintenance because programmers may need to locate code clones and change them consistently. In this work, we investigate (1) how code clones evolve, (2) how many code clones impose maintenance challenges, and (3) what kind of tool or engineering process would be useful for maintaining code clones.Based on a formal definition of clone evolution, we built a clone genealogy tool that automatically extracts the history of code clones from a source code repository (CVS). Our clone genealogy tool enables several analyses that reveal evolutionary characteristics of code clones. Our initial results suggest that aggressive refactoring may not be the best solution for all code clones; thus, we propose alternative tool solutions that assist in maintaining code clones using clone genealogy information.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Micromodels of Software: Lightweight Modelling and Analysis with Alloy. http://alloy.mit.edu, 2004.
 
3
B. S. Baker. A program for identifying duplicated code. Computing Science and Statistics, 24:49--57, 1992.
 
4
5
 
6
 
7
 
8
 
9
GRASE-Lab. User Manual: Kenyon. http://dforge.cse.ucsc.edu/projects/kenyon, 2005.
 
10
 
11
 
12
 
13
 
14
 
15
Z. Li, S. Lu, S. Myagmar, and Y. Zhou. CP-Miner: A tool for finding copy-paste and related bugs in operating system code. In OSDI, pages 289--302, 2004.
 
16
 
17
E. Nickell and I. Smith. Extreme programming and software clones. In the Proceedings of the International Workshop on Software Clones, 2003.
 
18


Collaborative Colleagues:
Miryung Kim: colleagues
David Notkin: colleagues