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

摘要 以及微软Altran发布代码默认AI,识别软件开发中的潜在问题,提出修复建议。Altran发布了一种使用人工智能(AI)的新工具,可以帮助软件工程师

以及微软Altran发布代码默认AI,识别软件开发中的潜在问题,提出修复建议。

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

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

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

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

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

代码缺陷人工智能是这样工作的:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

项目要求

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

更全面的测试

部署模式

项目管理

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。