东南教育网您的位置:首页 >机器人 >

机器学习工具训练旧代码以发现新代码中的错误

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

Microsoft和Altran发布了Code Defect AI,以识别软件开发中的潜在问题并提出修复建议。

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

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

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

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

Code Defect AI使用多种机器学习技术,包括随机决策森林,支持向量机,多层感知器(MLP)和逻辑回归。该平台提取,处理和标记历史数据以训练算法并建立可靠的决策模型。开发人员可以使用来自Code Defect AI的置信度分数来预测代码是合规的还是错误的。

这是Code Defect AI的工作原理:

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

预处理技术(例如特征识别,标签编码,一种热编码,数据缩放和规范化)将应用于所收集的历史提交数据。

在预处理后的数据上执行标记。标签过程涉及对模式的理解,在该模式中,为每个已解决的问题标记了提交的修复程序(已修复错误的位置)。收集修订提交后,通过回溯修订提交中每个文件的历史更改来识别引入错误的提交。

如果与干净记录相比,数据集包含很少的错误数据,则还会生成综合数据,以避免偏向多数类。

在准备的数据上训练了多种建模算法。

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

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

AI总经理David Carmona表示:“ Microsoft和Altran一直在努力改善软件开发周期,由Microsoft Azure提供支持的Code Defect AI是一种创新工具,可以通过使用机器学习来帮助软件开发人员。新闻稿中介绍了Microsoft的市场营销。

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

AI员工加入开发团队

在有关人工智能和软件开发的新报告中,德勤预测,越来越多的公司将使用AI辅助编码工具。从2018年1月到2019年9月,软件供应商推出了数十种在此领域工作的基于AI的软件开发工具和初创公司,并在类似的时间内筹集了7.04亿美元。

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

“ AI辅助编码的好处很多。然而,公司的主要好处是就是效率。许多新的AI驱动工具的工作方式与拼写检查和语法检查器相似,从而使编码人员可以将所需键入的击键次数减少50%左右,并且还可以在编写代码时发现错误。 ”,他们还可以自动执行确认软件质量所需的多达一半的测试。”

随着公司继续依赖开源代码,此功能甚至更加重要。

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

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

项目要求

编码,检查和错误检测以及解决

更全面的测试

部署方式

项目管理

免责声明:本文由用户上传,如有侵权请联系删除!