C4.5: programs for machine learning
C4.5: programs for machine learning
Machine Learning
Semantics-preserving procedure extraction
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CCFinder: a multilinguistic token-based code clone detection system for large scale source code
IEEE Transactions on Software Engineering
Advanced Clone-Analysis to Support Object-Oriented System Refactoring
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Assessing the Benefits of Incorporating Function Clone Detection in a Development Process
ICSM '97 Proceedings of the International Conference on Software Maintenance
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
Comprehending Reality " Practical Barriers to Industrial Adoption of Software Maintenance Automation
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Identifying redundancy in source code using fingerprints
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
An Ethnographic Study of Copy and Paste Programming Practices in OOPL
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Aiding Comprehension of Cloning Through Categorization
IWPSE '04 Proceedings of the Principles of Software Evolution, 7th International Workshop
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
Improved Tool Support for the Investigation of Duplication in Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
"Cloning Considered Harmful" Considered Harmful
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Using Server Pages to Unify Clones in Web Applications: A Trade-Off Analysis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
CP-Miner: a tool for finding copy-paste and related bugs in operating system code
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
How Clones are Maintained: An Empirical Study
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Determining detailed structural correspondence for generalization tasks
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Comparison and Evaluation of Clone Detection Tools
IEEE Transactions on Software Engineering
A Study of Consistent and Inconsistent Changes to Code Clones
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
JDeodorant: Identification and Removal of Type-Checking Bad Smells
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Identification of Extract Method Refactoring Opportunities
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Identifying Architectural Bad Smells
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Identification of Move Method Refactoring Opportunities
IEEE Transactions on Software Engineering
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
An Introduction to Information Theory
An Introduction to Information Theory
Empirical Software Engineering
Can I clone this piece of code here?
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Evaluating the conventional wisdom in clone removal: a genealogy-based empirical study
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Understanding the evolution of type-3 clones: an exploratory study
Proceedings of the 10th Working Conference on Mining Software Repositories
SPAPE: A semantic-preserving amorphous procedure extraction method for near-miss clones
Journal of Systems and Software
An empirical study of the factors affecting co-change frequency of cloned code
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Genealogical insights into the facts and fictions of clone removal
ACM SIGAPP Applied Computing Review
Hi-index | 0.00 |
Previous research has shown that refactoring code clones as soon as they are formed or discovered is not always feasible or worthwhile to perform, since some clones never change during evolution and some disappear in a short amount of time, while some undergo repetitive similar edits over their long lifetime. Toward a long-term goal of developing a recommendation system that selectively identifies clones to refactor, as a first step, we conducted an empirical investigation into the characteristics of long-lived clones. Our study of 13558 clone genealogies from 7 large open source projects, over the history of 33.25 years in total, found surprising results. The size of a clone, the number of clones in the same group, and the method-level distribution of clones are not strongly correlated with the survival time of clones. However, the number of developers who modified clones and the time since the last addition or removal of a clone to its group are highly correlated with the survival time of clones. This result indicates that the evolutionary characteristics of clones may be a better indicator for refactoring needs than static or spatial characteristics such as LOC, the number of clones in the same group, or the dispersion of clones in a system.