GPTCloneBench
收藏arXiv2024-12-19 更新2024-12-25 收录
下载链接:
http://arxiv.org/abs/2412.14739v1
下载链接
链接失效反馈官方服务:
资源简介:
GPTCloneBench是一个由萨斯喀彻温大学团队提出的语义和跨语言克隆数据集,包含37,149条单语言语义克隆对和20,770条跨语言克隆对。该数据集通过GPT模型辅助生成,并经过人工验证、功能测试和工具辅助验证。GPTCloneBench旨在解决现有数据集在规模、克隆类型和语言多样性方面的不足,适用于深度学习模型在语义克隆检测中的评估和训练,特别是在跨语言环境下的克隆检测任务。
提供机构:
萨斯喀彻温大学
创建时间:
2024-12-19
搜集汇总
数据集介绍

构建方式
GPTCloneBench数据集的构建过程采用了GPT-3模型辅助生成语义克隆和跨语言克隆对。该数据集通过从SemanticCloneBench中提取代码片段,并使用GPT-3生成具有相同功能但语法不同的代码对。随后,通过NiCAD工具过滤掉语法克隆,确保数据集中的克隆对均为语义克隆。此外,数据集还通过人工验证、功能测试和工具辅助验证等方式进行了多层次的验证,以确保克隆对的准确性和可靠性。
使用方法
GPTCloneBench数据集可用于评估和比较不同克隆检测模型在语义克隆和跨语言克隆检测任务中的性能。研究人员可以使用该数据集训练和测试单语言和跨语言克隆检测模型,并通过对比模型在BigCloneBench、SemanticCloneBench和GPTCloneBench上的表现,深入分析模型的泛化能力和鲁棒性。此外,数据集还可用于研究模型在面对代码突变时的表现,通过引入突变操作生成新的测试集,评估模型在代码变化情况下的稳定性。
背景与挑战
背景概述
GPTCloneBench数据集由萨斯喀彻温大学计算机科学系的Subroto Nag Pinku、Debajyoti Mondal和Chanchal K. Roy等研究人员于2023年提出,旨在解决语义克隆检测中的数据集局限性问题。该数据集通过GPT模型辅助生成,包含了37,149个单语言语义克隆对和20,770个跨语言克隆对,涵盖了多种编程语言。GPTCloneBench的创建背景源于现有数据集如BigCloneBench在语义克隆检测中的不足,特别是类不平衡和语义克隆数量较少的问题。该数据集的推出为深度学习模型在语义克隆检测领域的评估提供了更为全面和多样化的基准,推动了代码克隆检测技术的发展。
当前挑战
GPTCloneBench数据集在构建和应用过程中面临多重挑战。首先,语义克隆检测本身具有较高的复杂性,尤其是跨语言克隆检测,由于不同编程语言的语法差异,模型需要具备更强的语义理解能力。其次,数据集的构建依赖于GPT模型的生成能力,如何确保生成的代码片段在功能上保持一致且避免引入噪声是一个技术难题。此外,数据集的规模和质量直接影响模型的训练效果,如何在保证数据多样性的同时避免类不平衡问题,也是构建过程中需要克服的挑战。最后,如何在不同数据集上评估模型的泛化能力和鲁棒性,尤其是在面对代码变异操作时的表现,仍然是当前研究中的一个重要问题。
常用场景
经典使用场景
GPTCloneBench数据集在代码克隆检测领域中被广泛用于评估深度学习模型的性能,特别是在语义克隆和跨语言克隆检测方面。该数据集通过结合GPT模型生成的大量语义克隆对,弥补了现有数据集在语义克隆数量和多样性上的不足。研究人员利用该数据集对多种先进的克隆检测模型进行多步评估,以揭示这些模型在不同代码表示和数据集上的表现差异。
解决学术问题
GPTCloneBench数据集解决了现有代码克隆检测数据集在语义克隆数量不足、类别不平衡以及跨语言克隆数据稀缺等问题。通过提供大量经过验证的语义克隆对,该数据集为研究人员提供了一个更全面的评估平台,帮助揭示深度学习模型在检测语义克隆时的真实性能。此外,该数据集还通过引入跨语言克隆对,推动了跨语言克隆检测技术的发展,填补了该领域的数据空白。
实际应用
在实际应用中,GPTCloneBench数据集被用于开发和优化代码克隆检测工具,特别是在软件维护和代码重构中。通过使用该数据集,开发者可以训练出更精准的克隆检测模型,从而在大型软件系统中快速识别重复代码片段,减少维护成本。此外,该数据集还被用于跨语言代码迁移和代码相似性分析,帮助开发者在多语言环境中实现代码复用和优化。
数据集最近研究
最新研究方向
在代码克隆检测领域,GPTCloneBench数据集的引入为语义克隆和跨语言克隆的检测提供了新的研究视角。该数据集通过GPT模型生成大量语义克隆对,克服了现有数据集在类不平衡和语义克隆数量不足方面的局限性。近期研究聚焦于利用深度学习模型,如ASTNN、GMN和CodeBERT,结合不同的代码表示方法(如抽象语法树、图匹配网络和双向编码器表示)来检测语义克隆。研究表明,跨语言克隆检测模型(如C4)在语义克隆检测中表现出色,尤其是在面对代码变异时,其鲁棒性显著优于单语言模型。此外,GPTCloneBench的广泛应用为模型在真实场景中的泛化能力提供了新的评估基准,推动了代码克隆检测技术在实际软件开发中的应用。
相关研究论文
- 1On the Use of Deep Learning Models for Semantic Clone Detection萨斯喀彻温大学 · 2024年
以上内容由遇见数据集搜集并总结生成



