大语言模型在软件工程中的批判性综述:以ChatGPT与自动化程序修复为例
软件工程
2024-04-18 v2
摘要
大语言模型(LLMs)日益受到关注,并在多种软件工程(SE)任务中展现出有前景的性能,如自动化程序修复(APR)、代码摘要与代码补全。例如,最新的黑盒LLM ChatGPT已被众多近期研究考察,并在各项任务中表现出令人印象深刻的性能。然而,由于这些LLM通常为闭源且具体训练细节(如预训练数据集)未知,存在数据泄漏的潜在风险。本文旨在以不同研究目标审视ChatGPT在干净APR基准上的缺陷修复能力。我们首先引入{\benchmark},一个由2023年(即ChatGPT训练截止点之后)竞赛编程问题中的缺陷程序及其对应修复程序构成的新基准。在{\benchmark}上的结果表明,ChatGPT使用基础提示在35轮独立测试中可修复151个缺陷程序中的109个,其预测准确率分别超越最先进的LLM CodeT5和PLBART达27.5%和62.4%。我们还考察了三类提示(即问题描述、错误反馈与缺陷定位)的影响,额外修复了34个缺陷。此外,我们从ChatGPT的交互特性出发提供进一步讨论,通过基于对话的修复工作流阐释其能力,并额外修复9个缺陷。受这些发现启发,我们进一步指出了近期配备此类LLM(如ChatGPT)的先进SE研究所面临的各类挑战与机遇。更重要的是,我们的工作呼吁更多关于重新评估现有黑盒LLM(不限于ChatGPT在APR上)在各SE任务中所取得成果的研究。
引用
@article{arxiv.2310.08879,
title = {A Critical Review of Large Language Model on Software Engineering: An Example from ChatGPT and Automated Program Repair},
author = {Quanjun Zhang and Tongke Zhang and Juan Zhai and Chunrong Fang and Bowen Yu and Weisong Sun and Zhenyu Chen},
journal= {arXiv preprint arXiv:2310.08879},
year = {2024}
}
备注
add EvalGPTFix URL