Source Code Similarity Analysis: Comprehensive Review, Approaches, Applications, and Challenges in Clone Detection
摘要
The assessment and analysis of source code similarities is a crucial activity in software engineering that accomplishes several functions, such as code recommendation, malware identification, plagiarism detection, duplicate code identification, and code anomaly detection. This research investigates key research questions and findings related to source code similarity measurement and clone detection in software engineering. It addresses key areas such as dataset reliability, comparative advantages of similarity measurement methods, efficiency factors in tools, prevalent methodologies in studies and tools, and challenges in adapting to multi-paradigm languages. After conducting a thorough review, which reduced the initial set of over 11,000 publications to 140 primary research, we classified and examined the various techniques, instruments, languages, datasets, and applications employed in the field. The results show that hybrid approaches are heavily relied upon, primarily supporting C/C++ (38%) and Java (48%) with a support gap for other languages. Furthermore, only eight of the twelve publicly available datasets are available for research. A number of concerns have been raised, including the need for more dependable datasets, empirical analysis, and multilingual support. This research emphasizes the significance of improving code similarity measurement tools and methods, integrating them with IDEs, and making use of standardized datasets to enhance empirical evaluations.