AI编程因提高开发人员生产力与加速开发方面的潜力,推动了它们的广泛应用。然而,代码的可靠性、安全性与可维护性对任何软件项目的长期维护都至关重要。不符合这些标准的的代码,无论是人类创作还是AI生成,都会产生技术债务,引入安全风险,降低系统可靠性。
目前关于AI代码能力的评估主要集中在功能能力上,也就是代码能跑就行。有报告显示AI平均帮开发人员编写了46%的代码,这些代码可能引入重大安全漏洞和错误。因此,评估AI生成代码质量与安全性非常重要。
一、代码生成
研发人员首先使用不同模型,根据基准问题生成解决方案。经过实验得到了下面的数据:

结果显示,不同模型生成差别巨大,因此模型的选择会对项目的长期可维护性产生重大影响。
二、代码质量与安全性评估
研发人员紧接着建立了一个规则集,旨在广泛适用于大多数项目的软件问题检测,包括错误、代码漏洞和代码异味。通过规则集与自动化工具对生成的代码进行检测:

结果显示功能正确的代码中始终存在质量问题,这表明仅依靠功能能力来评估AI 生成的代码是不够的,并且可能会引入隐藏风险。同时,结果凸显了一个潜在的悖论:随着AI变得更强大,它们可能会生成更复杂的解决方案,这些解决方案虽然功能稳健,但会引入更大更多的缺陷。
三、总结
尽管AI可以生成功能性代码,但仍存在质量和安全问题,通过静态分析进行补充验证,将是确保代码的可靠性、安全性和可维护性的重要手段。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...