期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
代码自动生成工具Github Copilot生成代码质量的分析
1
作者 王东煜 莫然 +1 位作者 詹文静 蒋颖婕 《计算机科学》 北大核心 2025年第7期37-49,共13页
Github Copilot是Github和OpenAI推出的一款基于生成式AI的代码自动生成工具,它的核心功能之一,是根据自然语言的描述生成对应的实现代码。这一AI在编程领域的拓展,近年来引起了热议与重视。现阶段人们的关注点主要在AI编程与人类编程... Github Copilot是Github和OpenAI推出的一款基于生成式AI的代码自动生成工具,它的核心功能之一,是根据自然语言的描述生成对应的实现代码。这一AI在编程领域的拓展,近年来引起了热议与重视。现阶段人们的关注点主要在AI编程与人类编程的对比,比如AI程序员与人类程序员的编程效率对比,以及两者所编写的代码性能对比。然而,目前关于Copilot代码本身特征的研究较少,特别是代码质量问题,例如AI生成代码有哪些缺陷,这些缺陷是否会导致程序错误,以及代码是否易于理解等。代码质量对软件开发至关重要,分析AI生成代码的代码质量有助于更好地使用和改进此类代码生成工具。本文使用工具从LeetCode中提取所有的开源问题(共2033道)作为数据样本对Copilot进行测试,分别生成3种语言(Java,JavaScript,Python)的代码建议,提交并记录代码建议的执行结果。使用SonarQube静态分析这些代码建议文件,结合代码建议的执行结果,从可靠性、可维护性、复杂性3个维度分析Copilot的代码质量特征。结果发现:1)Copilot生成代码较为可靠,对于Java,JavaScript和Python 3种语言,分别收集了7,5,9种Bug类型,且3种语言涉及Bug的代码建议比例不超过3%,但涉及Bug的代码建议50%以上未通过测试;2)Copilot代码建议可维护性较差,对于Java,JavaScript和Python,分别收集了47,23,20种代码异味类类型,3种语言涉及代码建议的比例均超过40%,涉及代码异味的代码建议50%以上未通过测试用例;3)Copilot代码易于理解,多数代码建议的复杂度未超过阈值,且复杂度异常的代码建议比例不超过6%。最后,结合实验结果,提出了维护Copilot的可行建议,并探讨了此类工具未来可能的研究方向。 展开更多
关键词 自动代码生成 代码质量 代码可靠性 代码可维护性 代码复杂度
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部