首页 > 本地频道 > 教育 > > 正文
2022-01-25 20:44

2022年1月25日机器学习工具训练旧代码在新代码中发现错误

导读并且微软Altran发布了Code default AI来识别软件开发中的潜在问题并提出修复建议。Altran发布了一个使用人工智能(AI)的新工具,帮助

并且微软Altran发布了Code default AI来识别软件开发中的潜在问题并提出修复建议。

Altran发布了一个使用人工智能(AI)的新工具,帮助软件工程师发现编码过程中的缺陷,而不是最终的缺陷。

代码缺陷AI可以使用GitHub上的机器学习(ML)来分析现有代码,发现新代码中的潜在问题,并提出测试建议来诊断和修复错误。

Altran集团首席创新官Walid Negm表示,新工具将帮助开发者快速发布质量代码。

他在一份新闻稿中说:“软件发布周期需要能够帮助做出战略判断的算法,尤其是当代码变得更加复杂的时候。”

代码缺陷人工智能使用各种机器学习技术,包括随机决策森林、支持向量机、MLP和逻辑回归。该平台提取、处理和标记历史数据,以训练算法和建立可靠的决策模型。开发人员可以使用来自代码缺陷人工智能的置信度得分来预测代码是符合还是错误。

这就是代码缺陷人工智能的工作原理:

对于开源GitHub项目,使用RESTFul接口和Git CLI收集历史数据。该数据包括完整的提交历史和完整的错误历史。

预处理技术(如特征识别、标签编码、热编码、数据缩放和标准化)将应用于收集的历史提交数据。

标记预处理数据。这个过程包括理解模式,其中提交的修复(错误被修复的位置)被标记为每个解决的问题。收集修订提交后,通过追溯修订提交中每个文件的历史变化来识别引入错误的提交。

如果数据集包含的错误数据比干净记录少,还会生成全面的数据,以避免偏向大多数类。

在准备好的数据上训练各种建模算法。

一旦有了具有可接受的精度和召回值的模型,所选模型将被部署到新提交的预测中。

代码缺陷人工智能支持与第三方分析工具的集成,并且可以帮助识别给定程序代码中的错误。此外,代码缺陷AI工具还允许开发人员评估代码中的哪些函数应该在错误修复中被优先考虑。

AI总经理David Carmona表示:“微软和Altran一直在努力改善软件开发周期。由微软Azure支持的code default AI是一个创新的工具,可以通过使用机器学习来帮助软件开发人员。新闻稿描述了微软的营销。

代码缺陷AI可以托管在内部环境中,也可以托管在微软Azure等云计算平台上。该解决方案可以根据需要与其他源代码管理工具集成。

人工智能员工加入开发团队

在一份关于人工智能和软件开发的新报告中,德勤预测,越来越多的公司将使用人工智能辅助编码工具。2018年1月至2019年9月,软件供应商推出了数十款基于AI的软件开发工具和在该领域工作的初创公司,同期融资7.04亿美元。

德勤分析师David Schatsky和Sourabh Bumb表示,这些平台最大的好处是效率,“AI正在帮助开发更好的软件:”

“人工智能辅助编码有很多好处。然而,公司的主要优势是效率。许多新的人工智能驱动工具的工作方式类似于拼写检查器和语法检查器,因此程序员可以将需要键入的击键次数减少约50%,并且他们还可以在编写代码时发现错误。”,他们可以自动执行多达一半的测试来确认软件的质量。"

随着公司继续依赖开源代码,这一特性变得更加重要。

德勤报告通过“将开发人员需要键入的击键次数减少一半,甚至在代码审查或测试之前捕获错误,并自动生成一半的质量保证测试”,可以大大加快编码过程。

根据报告,这些工具最适合软件开发过程的以下要素:

项目要求

编码、检查、错误检测和解决

更全面的测试

部署模式

项目管理