Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Journal of Software Maintenance: Research and Practice
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Partial Redesign of Java Software Systems Based on Clone Analysis
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Advanced Clone-Analysis to Support Object-Oriented System Refactoring
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Identifying Similar Code with Program Dependence Graphs
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Clone Detection Using Abstract Syntax Trees
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Language Independent Approach for Detecting Duplicated Code
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Effective, Automatic Procedure Extraction
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Managing Duplicated Code with Linked Editing
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
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
SDD: high performance code clone detection system for large scale source code
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
DECKARD: Scalable and Accurate Tree-Based Detection of Code Clones
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Comparison and Evaluation of Clone Detection Tools
IEEE Transactions on Software Engineering
Journal of Software Maintenance and Evolution: Research and Practice
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
Clone detection and removal for Erlang/OTP within a refactoring environment
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
Get to know your clones with CeDAR
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Enhancing Quality of Code Clone Detection with Program Dependency Graph
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Sub-clone refactoring in open source software artifacts
Proceedings of the 2010 ACM Symposium on Applied Computing
Clone removal: fact or fiction?
Proceedings of the 4th International Workshop on Software Clones
Highly Configurable and Extensible Code Clone Detection
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
From Whence It Came: Detecting Source Code Clones by Analyzing Assembler
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Automated scheduling for clone-based refactoring using a competent GA
Software—Practice & Experience
Extracting code clones for refactoring using combinations of clone metrics
Proceedings of the 5th International Workshop on Software Clones
Representing clones in a localized manner
Proceedings of the 5th International Workshop on Software Clones
Towards flexible code clone detection, management, and refactoring in IDE
Proceedings of the 5th International Workshop on Software Clones
Efficiently handling clone data: RCF and cyclone
Proceedings of the 5th International Workshop on Software Clones
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Conflict-Aware Optimal Scheduling of Code Clone Refactoring: A Constraint Programming Approach
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Producing software by integration: challenges and research directions (keynote)
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Active support for clone refactoring: a perspective
Proceedings of the 2013 ACM workshop on Workshop on refactoring tools
Hi-index | 0.00 |
Context: Clone detection tools provide an automated mechanism to discover clones in source code. On the other side, refactoring capabilities within integrated development environments provide the necessary functionality to assist programmers in refactoring. However, we have observed a gap between the processes of clone detection and refactoring. Objective: In this paper, we describe our work on unifying the code clone maintenance process by bridging the gap between clone detection and refactoring. Method: Through an Eclipse plug-in called CeDAR (Clone Detection, Analysis, and Refactoring), we forward clone detection results to the refactoring engine in Eclipse. In this case, the refactoring engine is supplied with information about the detected clones to which it can then determine those clones that can be refactored. We describe the extensions to Eclipse's refactoring engine to allow clones with additional similarity properties to be refactored. Results: Our evaluation of open source artifacts shows that this process yields considerable increases in the instances of clone groups that may be suggested to the programmer for refactoring within Eclipse. Conclusion: By unifying the processes of clone detection and refactoring, in addition to providing extensions to the refactoring engine of an IDE, the strengths of both processes (i.e., more significant detection capabilities and an established framework for refactoring) can be garnered.