2004 · 116 citations · 7 references
ComputingComputer ScienceEthnographyProgramming LanguagesSoftware EngineeringApplication Programming InterfacesSoftware DesignSoftware MaintenanceSoftware ReuseCode ComprehensionScenariosSoftware Maintenance Process
Although programmers frequently copy and paste code when they develop software, implications of common copy and paste (C&P) usage patterns have not been studied previously. We have conducted an ethnographic study in order to understand programmers' C&P programming practices and discover opportunities to assist common C&P usage patterns. We observed programmers using an instrumented Eclipse IDE and then analyzed why and how they use C&P operations. Based on our analysis, we constructed a taxonomy of C&P usage patterns. This paper presents our taxonomy of C&P usage patterns and discusses our insights with examples drawn from our observations. From our insights, we propose a set of tools that both can reduce software maintenance problems incurred by C&P and can better support the intents of commonly used C&P scenarios.
7
Clone detection using abstract syntax trees
Ira D. Baxter, A. Yahin, Leonardo de Moura et al. · 2002 · 1.3K citations
Identifying similar code with program dependence graphs
Jens Krinke · 2002 · 622 citations
Assessing the benefits of incorporating function clone detection in a development process
B. Laguë, Daniel Proulx, Jean Mayrand et al. · 1997 · 234 citations