探究大型语言模型在代码克隆检测中的有效性
软件工程
2024-01-31 v3 人工智能
计算与语言
机器学习
摘要
大型语言模型(LLMs)在代码生成等多种自然语言处理与软件工程任务中取得了显著成功。LLMs 主要采用基于提示的零样本/少样本范式来引导模型完成任务。基于 GPT 的模型是代码注释生成或测试生成等任务中研究的热门模型之一。这些任务属于“生成式”任务。然而,关于将 LLMs 用于如分类等“非生成式”任务(采用基于提示的范式)的研究十分有限。在这项初步探索性研究中,我们探究了 LLMs 在代码克隆检测(CCD)这一非生成式任务中的适用性。通过构建一个源自 CodeNet 的单语言和跨语言 CCD 数据集,我们首先在零样本设置下,使用 ChatGPT 研究了两种不同的提示,以检测 Java-Java 和 Java-Ruby 对中的 Type-4 代码克隆。随后,我们进行分析以理解 ChatGPT 在 CCD 中的优势与不足。ChatGPT 在跨语言 CCD 中超越了基线模型,F1 分数达到 0.877,并在单语言 CCD 中取得了与完全微调模型相当的性能,F1 分数为 0.878。此外,提示词和问题的难度级别对 ChatGPT 的性能有影响。最后,我们基于初步分析提供了见解和未来方向。
引用
@article{arxiv.2401.13802,
title = {Investigating the Efficacy of Large Language Models for Code Clone Detection},
author = {Mohamad Khajezade and Jie JW Wu and Fatemeh Hendijani Fard and Gema Rodríguez-Pérez and Mohamed Sami Shehata},
journal= {arXiv preprint arXiv:2401.13802},
year = {2024}
}