无需再动手?评估 ChatGPT 代码生成质量
软件工程
2024-04-16 v2
摘要
大语言模型(LLMs)已在各类 NLP 任务中展现出令人印象深刻的性能。此外,LLMs 在支撑软件工程任务方面也极具价值,尤其在代码生成领域。自动代码生成是基于给定规范或需求自动生成源代码或可执行代码以提升开发者生产力的过程。在本研究中,我们对使用 ChatGPT 进行代码生成的质量开展了系统性实证评估。我们利用了五种语言(即 C、C++、Java、Python 和 JavaScript)的 728 道算法题,以及包含 54 个代码场景的 18 个 CWE 用于代码生成任务。我们的评估对 ChatGPT 生成的代码片段进行了全面分析,聚焦于正确性、复杂性和安全性三个关键方面。我们还专门探究了 ChatGPT 参与多轮修复过程(即 ChatGPT 的对话能力)以促进代码生成的能力。通过深入生成代码并考察实验结果,本工作为 ChatGPT 在三个关键方面处理代码生成任务的性能提供了宝贵见解。总体而言,我们的发现揭示了基于 ChatGPT 的代码生成中出现的潜在问题与局限,并为改进基于 AI 与 LLM 的代码生成技术奠定基础。
引用
@article{arxiv.2308.04838,
title = {No Need to Lift a Finger Anymore? Assessing the Quality of Code Generation by ChatGPT},
author = {Zhijie Liu and Yutian Tang and Xiapu Luo and Yuming Zhou and Liang Feng Zhang},
journal= {arXiv preprint arXiv:2308.04838},
year = {2024}
}