ACM Home Page
Please provide us with feedback. Feedback
Managing the copy-and-paste programming practice in modern IDEs
Full text PdfPdf (166 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion table of contents
Montreal, Quebec, Canada
SESSION: Doctoral symposiums table of contents
Pages: 933 - 934  
Year of Publication: 2007
ISBN:978-1-59593-865-7
Author
Patricia Jablonski  Clarkson University, Potsdam, NY
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 41,   Citation Count: 0
Additional Information:

abstract   references   index terms   review   collaborative colleagues  

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

ABSTRACT

Copy-and-paste is a common practice in industrial software development and maintenance, which results in code clones. Prior research has focused on automatically detecting and analyzing code clones from legacy systems and on eliminating clones. We believe that it is equally important to provide automated support in an integrated development environment (IDE) for the copy-and-paste practice when programs are being written. By instrumenting an IDE, the cloning relation among multiple copy-and-pasted code fragments will be tracked, thus obtaining a clone group. The commonality among members of a clone group will be extracted and represented as rules that capture code intent. We envision uses of the extracted rules for better software quality. Our CnP tool is currently targeted at Java and integrated into Eclipse. Empirical evaluation in terms of false positives, usefulness, and usability will be performed.


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
I.D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier "Clone Detection Using Abstract Syntax Trees" (1998).
 
2
J. Ferrante, K.J. Ottenstein, and J.D. Warren "The Program Dependence Graph and Its Use in Optimization" (1987).
 
3
C. Kapser and M. Godfrey "'Cloning Considered Harmful' Considered Harmful" (2006).
 
4
M. Kim, V. Sazawal, D. Notkin, and G.C. Murphy "An Empirical Study of Code Clone Genealogies" (2005).
 
5
R. Komondoor and S. Horwitz "Semantics-Preserving Procedure Extraction" (2000).
 
6
R. Komondoor and S. Horwitz "Using Slicing to Identify Duplication in Source Code" (2001).
 
7
Z. Li, S. Lu, S. Myagmar, and Y. Zhou "CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code" (2004).
 
8
M. Toomim, A. Begel, and S.L. Graham "Managing Duplicated Code with Linked Editing" (2004).


REVIEW

"David Thomas Barnard : Reviewer"

The doctrine “Don’t Repeat Yourself” (DRY), promulgated by Andy Hunt and Dave Thomas in The pragmatic programmer, suggests that copy-and-paste as a program development technique is wrong. An obvious preferred approach woul  more...