论文

超越功能正确性:AI IDE 生成的大型项目中的设计问题

Beyond Functional Correctness: Design Issues in AI IDE-Generated Large-Scale Projects

摘要

新一代人工智能编码工具,包括配备代理功能的人工智能驱动的IDE,可以在项目上下文中生成代码。人们越来越认为这些 AI IDE 能够大规模生成项目级代码。然而,关于它们可以生成大规模软件系统的程度以及此类系统可能表现出的设计问题,经验证据有限。为了解决这一差距,我们进行了一项研究,探讨 Cursor 生成大型项目的能力,并评估 Cursor 生成的项目的设计质量。首先,我们提出了一个功能驱动的人机交互(FD-HITL)框架,该框架可以根据策划的项目描述系统地指导项目生成。我们使用 Cursor 和 FD-HITL 框架生成了 10 个项目,涵盖三个应用领域和多种技术。我们通过人工评估的方式评估了这些项目的功能正确性,获得的平均功能正确性得分为 91%。接下来,我们使用 CodeScene 和 SonarQube 这两个静态分析工具分析生成的项目,以检测设计问题。我们确定了 CodeScene 分为 9 个类别的 1,305 个设计问题,SonarQube 确定了 11 个类别的 3,193 个设计问题。我们的研究结果表明:(1)当与 FD-HITL 框架一起使用时,Cursor 可以生成平均 16,965 个 LoC 和 114 个文件的功能性大型项目; (2)生成的项目仍然存在设计问题,可能会带来长期的可维护性和演进性风险,需要有经验的开发人员仔细审查; (3) 最普遍的问题包括代码重复、高代码复杂性、大型方法、框架最佳实践违规、异常处理问题和可访问性问题; (4)这些设计问题违反了SRP、SoC、DRY等设计原则。复制包位于 https://github.com/Kashifraz/DIinAGP