返回
摘要
En 中文
本文比较了人工生成和AI生成的程序代码在正确性、效率和维护性方面的差异。为此,我们使用时间复杂度、空间复杂度、运行时间和内存使用等指标分析了人工生成和AI生成的程序代码的计算资源。此外,我们采用代码行数、圈复杂度、Halstead复杂度和维护性指数等指标评估了维护性。在实验中,我们让生成式AI在Java、Python和C++中生成程序代码,以解决leetcode.com竞赛编程网站上定义的问题。我们选择了六个难度不同的LeetCode问题,共生成18个由每个生成式AI生成的程序代码。由Codex(GPT-3.0)驱动的GitHub Copilot表现最佳,解决了18个问题中的9个(50.0%),而CodeWhisperer未能解决任何问题。BingAI Chat(GPT-4.0)为7个问题生成了正确的程序代码(38.9%),ChatGPT(GPT-3.5)和Code Llama(Llama 2)为4个问题生成了正确的程序代码(22.2%),而StarCoder和InstructCodeT5+仅为一个问题(5.6%)生成了正确的程序代码。令人惊讶的是,尽管ChatGPT仅生成了4个正确的程序代码,但它却是唯一能够为难度级别为hard的编程问题提供正确解决方案的生成式AI。总之,26个AI生成的代码(20.6%)解决了相应的问题。对于11个AI生成的错误代码(8.7%),只需对程序代码进行最小修改即可解决问题,这相比于从头编写程序代码可节省8.9%至71.3%的时间。
期刊
暂无期刊信息
机构
暂无机构信息
引用论文
暂无论文信息

