An empirical study of code clone genealogies
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Using a clone genealogy extractor for understanding and supporting evolution of code clones
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Subtext: uncovering the simplicity of programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On the Use of Clone Detection for Identifying Crosscutting Concern Code
IEEE Transactions on Software Engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Proceedings of the 6th international conference on Aspect-oriented software development
Copy-and-paste between overlapping windows
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Understanding and Aiding Code Evolution by Inferring Change Patterns
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Evaluating the Harmfulness of Cloning: A Change Based Experiment
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Programming by a sample: rapidly creating web applications with d.mix
Proceedings of the 20th annual ACM symposium on User interface software and technology
Ariadne: an eclipse-based system for tracking the originality of source code
IBM Systems Journal
Journal of Software Maintenance and Evolution: Research and Practice
Investigating statistical machine learning as a tool for software development
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Clone detection in automotive model-based development
Proceedings of the 30th international conference on Software engineering
Context-sensitive cut, copy, and paste
Proceedings of the 2008 C3S2E conference
Opportunistic programming: how rapid ideation and prototyping occur in practice
Proceedings of the 4th international workshop on End-user software engineering
Retrieving similar code fragments based on identifier similarity for defect detection
DEFECTS '08 Proceedings of the 2008 workshop on Defects in large software systems
Mining application-specific coding patterns for software maintenance
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
Iterative design and evaluation of an event architecture for pen-and-paper interfaces
Proceedings of the 21st annual ACM symposium on User interface software and technology
Journal of Software Maintenance and Evolution: Research and Practice
Empirical evaluation of clone detection using syntax suffix trees
Empirical Software Engineering
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Two studies of opportunistic programming: interleaving web foraging, learning, and writing code
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Quality Factors and Coding Standards -- a Comparison Between Open Source Forges
Electronic Notes in Theoretical Computer Science (ENTCS)
An evaluation of code similarity identification for the grow-and-prune model
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
Characterizing Example Embedding as a software activity
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Software, software engineering and software engineering research: some unconventional thoughts
Journal of Computer Science and Technology
Exploring the design space of proactive tool support for copy-and-paste programming
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Clone region descriptors: Representing and tracking duplication in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
Actively comparing clones inside the code editor
Proceedings of the 4th International Workshop on Software Clones
Clone removal: fact or fiction?
Proceedings of the 4th International Workshop on Software Clones
Understanding context: creating a lasting impact in experimental software engineering research
Proceedings of the FSE/SDP workshop on Future of software engineering research
Developers attentiveness to example usage
Human Aspects of Software Engineering
On the need for human-based empirical validation of techniques and tools for code clone analysis
Proceedings of the 5th International Workshop on Software Clones
An empirical study of long-lived code clones
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
An editing-operation replayer with highlights supporting investigation of program modifications
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Software engineers' information behaviour and implicit relevance indicators
International Journal of Knowledge and Web Intelligence
ADVIS'04 Proceedings of the Third international conference on Advances in Information Systems
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
Capturing and analyzing low-level events from the code editor
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Task-specific information retrieval systems for software engineers
Journal of Computer and System Sciences
Relation of code clones and change couplings
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Software developers' information needs: towards the development of intelligent recommender systems
iUBICOM'11 Proceedings of the 6th international conference on Ubiquitous and Collaborative Computing
AutoComPaste: auto-completing text as an alternative to copy-paste
Proceedings of the International Working Conference on Advanced Visual Interfaces
Empirical Software Engineering
SnipMatch: using source code context to enhance snippet retrieval and parameterization
Proceedings of the 25th annual ACM symposium on User interface software and technology
Evaluating the conventional wisdom in clone removal: a genealogy-based empirical study
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Enhancement of CRD-based clone tracking
Proceedings of the 2013 International Workshop on Principles of Software Evolution
Towards a creativity support tool in processing: understanding the needs of creative coders
Proceedings of the 25th Australian Computer-Human Interaction Conference: Augmentation, Application, Innovation, Collaboration
Genealogical insights into the facts and fictions of clone removal
ACM SIGAPP Applied Computing Review
Hi-index | 0.00 |
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.