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 International Conference on Software Engineering archive
Proceedings of the 2005 international workshop on Mining software repositories table of contents
St. Louis, Missouri
SESSION: Mining Software Repositories (MSR) table of contents
Pages: 1 - 5  
Year of Publication: 2005
ISBN:1-59593-123-6
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/1083142.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