使用GitHub Copilot的实践与挑战:一项实证研究
软件工程
2023-04-28 v3
摘要
随着机器学习的进步,人们对用于自动补全源代码的AI赋能工具兴趣日增。GitHub Copilot,亦被称为“AI结对程序员”,已在数十亿行开源GitHub代码上训练,是自2021年6月发布以来被越来越多使用的此类工具之一。然而,鲜有研究致力于理解在编程中使用Copilot自动补全源代码时的实践与挑战。为此,我们通过收集和分析来自Stack Overflow(SO)与GitHub Discussions的数据开展了实证研究。更具体地,我们检索并人工收集了169条与Copilot使用相关的SO帖子和655条GitHub讨论。我们识别了与Copilot一起使用的编程语言、IDE、技术、所实现的功能,以及使用Copilot时的益处、局限与挑战。结果表明,从业者在使用Copilot时:(1)主要使用的编程语言是JavaScript和Python;(2)主要使用的IDE是Visual Studio Code;(3)最常使用的技术是Node.js;(4)由Copilot实现的主要功能是数据处理;(5)使用Copilot的显著益处是有用的代码生成;(6)从业者遇到的主要局限是集成困难。我们的结果表明,使用Copilot犹如一把双刃剑,需要开发人员在决定是否使用时仔细考量各方面因素。我们的研究为未来关于Copilot作为软件开发中AI结对程序员角色的研究提供了基于实证的基石与依据。
引用
@article{arxiv.2303.08733,
title = {Practices and Challenges of Using GitHub Copilot: An Empirical Study},
author = {Beiqi Zhang and Peng Liang and Xiyu Zhou and Aakash Ahmad and Muhammad Waseem},
journal= {arXiv preprint arXiv:2303.08733},
year = {2023}
}
备注
The 35th International Conference on Software Engineering and Knowledge Engineering (SEKE)