Paper Reading AI Learner

Advanced Detection of Source Code Clones via an Ensemble of Unsupervised Similarity Measures

2024-05-03 13:42:49
Jorge Martinez-Gil

Abstract

The capability of accurately determining code similarity is crucial in many tasks related to software development. For example, it might be essential to identify code duplicates for performing software maintenance. This research introduces a novel ensemble learning approach for code similarity assessment, combining the strengths of multiple unsupervised similarity measures. The key idea is that the strengths of a diverse set of similarity measures can complement each other and mitigate individual weaknesses, leading to improved performance. Preliminary results show that while Transformers-based CodeBERT and its variant GraphCodeBERT are undoubtedly the best option in the presence of abundant training data, in the case of specific small datasets (up to 500 samples), our ensemble achieves similar results, without prejudice to the interpretability of the resulting solution, and with a much lower associated carbon footprint due to training. The source code of this novel approach can be downloaded from this https URL.

Abstract (translated)

准确确定代码相似性的能力在许多与软件开发相关的任务中至关重要。例如,识别代码复制是进行软件维护必不可少的。这项研究引入了一种新颖的集成学习方法来评估代码相似性,结合多个无监督相似度的优势。关键思想是,多样化的相似度度量具有相互补充的优势,并减轻了各个弱点的负面影响,从而提高了性能。初步结果表明,尽管Transformer-based CodeBERT和其变体GraphCodeBERT在大量训练数据存在的情况下无疑是最佳选择,但在具体小数据集(最多500个样本)情况下,我们的集成方法同样可以达到类似的结果,而不会影响所得到解决方案的可解释性,同时训练导致的附带碳足迹要低得多。这种新颖方法的源代码可以从以下链接下载:https://github.com/your-username/your-repo-name

URL

https://arxiv.org/abs/2405.02095

PDF

https://arxiv.org/pdf/2405.02095.pdf


Tags
3D Action Action_Localization Action_Recognition Activity Adversarial Agent Attention Autonomous Bert Boundary_Detection Caption Chat Classification CNN Compressive_Sensing Contour Contrastive_Learning Deep_Learning Denoising Detection Dialog Diffusion Drone Dynamic_Memory_Network Edge_Detection Embedding Embodied Emotion Enhancement Face Face_Detection Face_Recognition Facial_Landmark Few-Shot Gait_Recognition GAN Gaze_Estimation Gesture Gradient_Descent Handwriting Human_Parsing Image_Caption Image_Classification Image_Compression Image_Enhancement Image_Generation Image_Matting Image_Retrieval Inference Inpainting Intelligent_Chip Knowledge Knowledge_Graph Language_Model LLM Matching Medical Memory_Networks Multi_Modal Multi_Task NAS NMT Object_Detection Object_Tracking OCR Ontology Optical_Character Optical_Flow Optimization Person_Re-identification Point_Cloud Portrait_Generation Pose Pose_Estimation Prediction QA Quantitative Quantitative_Finance Quantization Re-identification Recognition Recommendation Reconstruction Regularization Reinforcement_Learning Relation Relation_Extraction Represenation Represenation_Learning Restoration Review RNN Robot Salient Scene_Classification Scene_Generation Scene_Parsing Scene_Text Segmentation Self-Supervised Semantic_Instance_Segmentation Semantic_Segmentation Semi_Global Semi_Supervised Sence_graph Sentiment Sentiment_Classification Sketch SLAM Sparse Speech Speech_Recognition Style_Transfer Summarization Super_Resolution Surveillance Survey Text_Classification Text_Generation Tracking Transfer_Learning Transformer Unsupervised Video_Caption Video_Classification Video_Indexing Video_Prediction Video_Retrieval Visual_Relation VQA Weakly_Supervised Zero-Shot