论文

人工智能繁荣背后的债务:对人工智能自然生成代码的大规模实证研究

Debt Behind the AI Boom: A Large-Scale Empirical Study of AI-Generated Code in the Wild

摘要

AI编码助手现在广泛应用于软件开发中。软件开发人员越来越多地将人工智能生成的代码集成到他们的代码库中,以提高生产力。先前的研究表明,人工智能生成的代码在受控设置下可能包含代码质量问题。然而,我们对人工智能生成的代码引入生产存储库后对软件质量和维护的实际影响仍然知之甚少。换句话说,目前尚不清楚此类问题是否能迅速解决,还是持续存在并随着时间的推移作为技术债务累积。在本文中,我们对人工智能编码助手在野外引入的技术债务进行了大规模的实证研究。为了实现这一目标,我们构建了一个数据集,其中包含来自 6,299 个 GitHub 存储库的 302.6k 个经过验证的 AI 创作提交,涵盖五个广泛使用的 AI 编码助手。对于每次提交,我们都会在更改之前和之后运行静态分析,以精确归因人工智能引入的代码气味、正确性问题和安全问题。然后,我们跟踪每个引入的问题,从引入提交到最新的存储库修订,以研究其生命周期。我们的结果显示,我们发现了 484,366 个不同的问题,其中代码异味是迄今为止最常见的类型,占所有问题的 89.3%。我们还发现,每个 AI 编码助手中超过 15% 的提交都会至少引入一个问题,尽管不同工具的比率有所不同。更重要的是,22.7% 的跟踪 AI 引入的问题仍然存在于最新版本的存储库中。这些发现表明,人工智能生成的代码可能会给实际软件项目带来长期维护成本,并强调在人工智能辅助开发中需要更强的质量保证。