GPTCloneBench:基于 GPT-3 模型与 SemanticCloneBench 的语义克隆与跨语言克隆综合基准
软件工程
2023-09-04 v2
摘要
随着机器学习的兴起,利用其能力解决各领域问题的工作激增。在代码克隆领域,类型 4 或语义克隆的识别已成为一项关键却具挑战的任务。研究者旨在利用机器学习应对该挑战,常依赖于 BigCloneBench 数据集。然而值得注意的是,BigCloneBench 最初并非为语义克隆检测而设计,其存在的若干局限削弱了它作为此特定用途综合训练集的适用性。此外,CLCDSA 数据集缺乏与真实软件系统对齐的可复用示例,使其不足以支撑跨语言克隆检测方法。本工作中,我们通过利用 SemanticCloneBench 与 OpenAI 的 GPT-3 模型,提出一个综合的语义克隆与跨语言克隆基准 GPTCloneBench。具体而言,以 SemanticCloneBench 中的代码片段作为样本输入,配合针对 GPT-3 模型的恰当提示工程,我们为这些特定片段生成语义与跨语言克隆,随后在构建基准时结合广泛人工分析、工具辅助过滤、功能测试与自动化验证。从 79,928 对 GPT-3 输出克隆对中,我们创建了含 37,149 对真语义克隆对、19,288 对假语义对(类型 1/类型 2)以及跨四种语言(Java、C、C# 和 Python)的 20,770 对跨语言克隆的基准。我们的基准比 SemanticCloneBench 大 15 倍,比 CLCDSA 拥有更多面向软件系统的功能性代码示例及编程语言支持,并克服了 BigCloneBench 在质量、量化与语言多样性上的局限。
引用
@article{arxiv.2308.13963,
title = {GPTCloneBench: A comprehensive benchmark of semantic clones and cross-language clones using GPT-3 model and SemanticCloneBench},
author = {Ajmain Inqiad Alam and Palash Ranjan Roy and Farouq Al-omari and Chanchal Kumar Roy and Banani Roy and Kevin Schneider},
journal= {arXiv preprint arXiv:2308.13963},
year = {2023}
}
备注
Accepted in 39th IEEE International Conference on Software Maintenance and Evolution(ICSME 2023)