arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2206.15331cs.SEcs.LG
收藏

GitHub Copilot AI 结对程序员:资产还是负担?

GitHub Copilot AI pair programmer: Asset or Liability?

Polytechnique Montreal(蒙特利尔理工学院);York University(约克大学)

Arghavan Moradi Dakhel, Vahid Majdinasab, Amin Nikanjam, Foutse Khomh, Michel C. Desmarais, Zhen Ming, Jiang

AI总结:

本文实证评估了 GitHub Copilot 在基础算法问题求解及与人类程序员方案对比中的表现,发现其覆盖面广但存在缺陷且不可复现,修复成本较低。

摘要:

自动程序合成是软件工程中长期以来的梦想。最近,OpenAI 和微软提出了一种名为 Copilot 的、基于深度学习(DL)的有前景的解决方案,并已作为工业产品推出。尽管一些研究评估了 Copilot 解决方案的正确性并报告了其存在的问题,但仍需要更多的实证评估来理解开发者如何能够有效地从中受益。在本文中,我们研究了 Copilot 在两类不同编程任务中的能力:(i)为基础算法问题生成(并复现)正确且高效的解决方案,以及(ii)在一组编程任务上比较 Copilot 提出的解决方案与人类程序员提供的解决方案。对于前者,我们评估 Copilot 在解决计算机科学中选定的基础问题(如排序和实现数据结构)时的性能和功能。对于后者,使用了一个包含人类提供解决方案的编程问题数据集。结果表明,Copilot 能够为几乎所有基础算法问题提供解决方案,然而,部分解决方案存在缺陷且不可复现。此外,Copilot 在组合多种方法以生成解决方案方面存在一定困难。将 Copilot 与人类进行比较,我们的结果表明,人类解决方案的正确率高于 Copilot 的建议,而 Copilot 生成的有缺陷的解决方案修复所需的工作量更少。

英文摘要:

Automatic program synthesis is a long-lasting dream in software engineering. Recently, a promising Deep Learning (DL) based solution, called Copilot, has been proposed by OpenAI and Microsoft as an industrial product. Although some studies evaluate the correctness of Copilot solutions and report its issues, more empirical evaluations are necessary to understand how developers can benefit from it effectively. In this paper, we study the capabilities of Copilot in two different programming tasks: (i) generating (and reproducing) correct and efficient solutions for fundamental algorithmic problems, and (ii) comparing Copilot's proposed solutions with those of human programmers on a set of programming tasks. For the former, we assess the performance and functionality of Copilot in solving selected fundamental problems in computer science, like sorting and implementing data structures. In the latter, a dataset of programming problems with human-provided solutions is used. The results show that Copilot is capable of providing solutions for almost all fundamental algorithmic problems, however, some solutions are buggy and non-reproducible. Moreover, Copilot has some difficulties in combining multiple methods to generate a solution. Comparing Copilot to humans, our results show that the correct ratio of humans' solutions is greater than Copilot's suggestions, while the buggy solutions generated by Copilot require less effort to be repaired.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑