- 简介近来,针对代码的大型语言模型(LLMs)引起了广泛关注。它们可以根据提供的提示生成不同编程语言的代码,实现了软件工程(SE)中长期以来的梦想,即自动代码生成。与人工编写的代码类似,LLM生成的代码容易出现错误,但这些错误尚未被社区全面研究。由于越来越多的基于LLM的代码生成工具(例如GitHub Copilot)被应用于软件工程活动中,因此了解LLM生成的代码中包含的缺陷特征至关重要。本文对使用三个主要LLMs(即CodeGen、PanGu-Coder和Codex)生成的代码中收集的333个缺陷样本进行了研究,并确定了以下10种独特的缺陷模式:误解、语法错误、愚蠢错误、提示偏见代码、遗漏角落案例、错误的输入类型、幻想对象、错误的属性、不完整生成和非提示考虑。这些缺陷模式以分类法的形式呈现。通过与34名LLM从业者和研究人员进行的在线调查,验证了所识别的缺陷模式。调查的参与者普遍认为这些缺陷模式的重要性和普遍性。研究人员和从业者可以利用这些发现开发有效的LLM生成代码的质量保证技术。本研究揭示了LLM生成代码的独特特征。
- 图表
- 解决问题本论文旨在研究利用大型语言模型(LLMs)自动生成的代码中存在的缺陷模式,并提出有效的质量保证技术,以解决这些缺陷。
- 关键思路通过对三个主要的LLMs生成的代码中的333个错误进行研究,本文提出了10种独特的缺陷模式,并将其呈现为一种分类法。这些缺陷模式的验证使用了一个在线调查,得到了34名LLM从业者和研究人员的支持。
- 其它亮点本文提出了一种新的研究方向,即LLM生成的代码缺陷模式。研究结果可以帮助研究人员和从业者开发有效的质量保证技术。实验使用了三个流行的LLMs,收集了333个错误,并通过在线调查验证了研究结果。
- 在近期的相关研究中,也有一些关于LLMs生成的代码缺陷的研究。例如:“Learning to Generate Code with Sparse Directives”,“Code Completion with Transformer”,“CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing”。
沙发等你来抢
去评论
评论
沙发等你来抢