中文

评估 AI 辅助代码生成工具的代码质量:基于 GitHub Copilot、Amazon CodeWhisperer 与 ChatGPT 的实证研究

软件工程 2023-10-24 v2

摘要

背景:AI 辅助代码生成工具在软件工程中日益普及,能够从自然语言提示或部分代码输入生成代码。此类工具的著名例子包括 GitHub Copilot、Amazon CodeWhisperer 和 OpenAI 的 ChatGPT。目标:本研究旨在比较这些知名代码生成工具在代码质量指标(如代码有效性、代码正确性、代码安全性、代码可靠性与代码可维护性)上的表现,以识别其优势与不足。方法:我们使用 HumanEval 基准数据集评估 GitHub Copilot、Amazon CodeWhisperer 和 ChatGPT 的代码生成能力。随后基于所提出的代码质量指标对生成代码进行评价。结果:我们的分析显示,最新版本的 ChatGPT、GitHub Copilot 和 Amazon CodeWhisperer 分别有 65.2%、46.3% 和 31.1% 的概率生成正确代码。相较之下,较新版本的 GitHub Copilot 和 Amazon CodeWhisperer 改进率分别为 18%(GitHub Copilot)和 7%(Amazon CodeWhisperer)。考虑代码坏味的 average technical debt 分别为:ChatGPT 8.9 分钟、GitHub Copilot 9.1 分钟、Amazon CodeWhisperer 5.6 分钟。结论:本研究凸显了一些最流行代码生成工具的优势与弱点,为从业者提供了宝贵见解。通过比较这些生成器,我们的结果可协助从业者针对特定任务选择最优工具,改进其决策过程。

关键词

引用

@article{arxiv.2304.10778,
  title  = {Evaluating the Code Quality of AI-Assisted Code Generation Tools: An Empirical Study on GitHub Copilot, Amazon CodeWhisperer, and ChatGPT},
  author = {Burak Yetiştiren and Işık Özsoy and Miray Ayerdem and Eray Tüzün},
  journal= {arXiv preprint arXiv:2304.10778},
  year   = {2023}
}