中文

ChatGPT 自动修复缺陷性能的分析

软件工程 2023-01-23 v1

摘要

为支持软件开发人员发现并修复软件缺陷,已有多种自动化程序修复技术被提出。给定一个测试套件,标准方法通常要么合成一个修复补丁,要么在软件编辑的搜索空间中寻找通过测试套件的变体。近期的程序修复方法基于深度学习技术。其中一种并非主要面向自动化程序修复、但仍适用于该任务的新颖方法是 ChatGPT。然而,ChatGPT 的缺陷修复性能迄今尚不清楚。因此,本文在标准缺陷修复基准集 QuixBugs 上评估 ChatGPT,并将其性能与文献中报道的若干其他方法的结果进行比较。我们发现,ChatGPT 的缺陷修复性能可与常见的深度学习方法 CoCoNut 和 Codex 相竞争,且明显优于标准程序修复方法所报告的结果。与以往方法不同,ChatGPT 提供了一个对话系统,可通过其输入进一步的信息,例如特定输入的期望输出或观察到的错误消息。通过向 ChatGPT 提供此类提示,其成功率可进一步提高,修复了 40 个缺陷中的 31 个,优于当前最优(state-of-the-art)方法。

关键词

引用

@article{arxiv.2301.08653,
  title  = {An Analysis of the Automatic Bug Fixing Performance of ChatGPT},
  author = {Dominik Sobania and Martin Briesch and Carol Hanna and Justyna Petke},
  journal= {arXiv preprint arXiv:2301.08653},
  year   = {2023}
}