Towards a mutation-based automatic framework for evaluating code clone detection tools
Proceedings of the 2008 C3S2E conference
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Near-miss function clones in open source software: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Are scripting languages really different?
Proceedings of the 4th International Workshop on Software Clones
Distinguishing copies from originals in software clones
Proceedings of the 4th International Workshop on Software Clones
Towards web services tagging by similarity detection
The smart internet
Automated type-3 clone oracle using Levenshtein metric
Proceedings of the 5th International Workshop on Software Clones
Analyzing web service similarity using contextual clones
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
VisCad: flexible code clone analysis support for NiCad
Proceedings of the 5th International Workshop on Software Clones
Proceedings of the 5th International Workshop on Software Clones
MeCC: memory comparison-based clone detector
Proceedings of the 33rd International Conference on Software Engineering
Towards web services tagging by similarity detection
The smart internet
Specifying and detecting meaningful changes in programs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Comparative stability of cloned and non-cloned code: an empirical study
Proceedings of the 27th Annual ACM Symposium on Applied Computing
IDE-based real-time focused search for near-miss clones
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Boreas: an accurate and scalable token-based approach to code clone detection
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
An empirical study on clone stability
ACM SIGAPP Applied Computing Review
Connectivity of co-changed method groups: a case study on open source systems
CASCON '12 Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research
Evaluating the conventional wisdom in clone removal: a genealogy-based empirical study
Proceedings of the 28th Annual ACM Symposium on Applied Computing
On the relationships between domain-based coupling and code clones: an exploratory study
Proceedings of the 2013 International Conference on Software Engineering
Understanding the evolution of type-3 clones: an exploratory study
Proceedings of the 10th Working Conference on Mining Software Repositories
An empirical study of the fault-proneness of clone mutation and clone migration
Proceedings of the 10th Working Conference on Mining Software Repositories
Searching for better configurations: a rigorous approach to clone evaluation
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Submodel pattern extraction for simulink models
Proceedings of the 17th International Software Product Line Conference
SPAPE: A semantic-preserving amorphous procedure extraction method for near-miss clones
Journal of Systems and Software
Tuning research tools for scalability and performance: The NiCad experience
Science of Computer Programming
Using clone detection to find malware in acrobat files
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 |
This paper examines the effectiveness of a new language-specific parser-based but lightweight clone detection approach. Exploiting a novel application of a source transformation system, the method accurately finds near-miss clones using an efficient text line comparison technique. The transformation system assists the methodin three ways. First, using agile parsing it provides user-specified flexible pretty-printing to remove noise, standardize formatting and break program statements into parts such that potential changes can be detected as simple linewise text differences. Second, it provides efficient flexible extraction of potential clones to be compared using island grammars and agile parsing to select granularities and enumerate potential clones. Third, using transformation rules it provides flexible code normalization to allow for local editing differences between similar code segments and filtering out of uninteresting parts of potential clones. In this paper we introduce the theory and practice of the framework and demonstrate its use in finding function clones in C code. Early experiments indicate that the method is capable of finding near-miss clones with high precision and recall, and with reasonable performance.