探索大型语言模型在代码克隆检测中的先进性能:GPT-4与GPT-3.5的对比研究

Assessing the Code Clone Detection Capability of Large Language Models

摘要

本文由Zixian Zhang和Takfarinas Saber共同撰写,旨在评估大型语言模型(LLMs)在代码克隆检测任务中的性能。研究特别关注了GPT-3.5和GPT-4两款先进模型,通过对比它们在不同类型和相似度级别的代码克隆检测中的表现,揭示了GPT-4在识别各种代码克隆类型上的优越性。此外,研究还探讨了模型在处理人类编写与LLM生成的代码克隆时的性能差异,指出了LLMs在识别复杂代码克隆方面的局限性,并强调了持续改进LLMs能力的必要性。

原理

本文通过使用两个数据集——BigCloneBench(人类编写的代码克隆)和GPTCloneBench(LLM生成的代码克隆),对GPT-3.5和GPT-4进行了系统的性能评估。模型通过分析代码片段的语义和结构相似性来识别代码克隆。GPT-4利用其更高级的语义分析能力和更大的参数规模,在识别代码克隆时展现出比GPT-3.5更高的准确性和一致性。这种先进性主要体现在GPT-4能够更好地理解和处理代码中的复杂语义关系,从而在检测高级别(如Type-4)的代码克隆时表现更优。

流程

研究首先选择了300个样本进行初步测试,确保每个克隆类型的代表性和多样性。随后,通过精心设计的提示工程(Prompt Engineering),包括使用少样本提示(Few-Shot Prompt)技术,指导模型进行代码克隆的识别。例如,提示中包含了基本任务描述、代码克隆定义以及具体的代码对样本,以帮助模型理解任务并作出判断。实验结果显示,GPT-4在处理不同类型的代码克隆时,尤其是在高相似度的克隆类型中,表现出了显著的优势。

应用

该研究不仅提升了代码克隆检测的准确性,还为软件工程领域中的代码质量管理和自动化工具开发提供了新的视角。随着LLMs在代码生成和重构工具中的应用日益广泛,提高模型在代码克隆检测方面的能力对于确保软件质量和减少开发成本具有重要意义。未来,这一技术有望集成到集成开发环境(IDEs)中,帮助开发者实时检测和解决代码克隆问题,从而推动软件开发的效率和质量。