Altran的“代码缺陷人工智能”与人工智能辅助编码工具的兴起

2020-05-25 04:49:17

Microsoft和Altran发布代码缺陷AI,以识别软件开发中的潜在问题并提出修复建议。

Altran发布了一款新工具,该工具使用人工智能(AI)帮助软件工程师在编码过程中发现错误,而不是在编码结束时发现错误。

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

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

他在一份新闻稿中表示,软件发布周期需要能够帮助做出战略判断的算法,特别是在代码变得更加复杂的情况下。

代码缺陷人工智能使用了几种ML技术,包括随机决策森林、支持向量机、多层感知器(MLP)和Logistic回归。该平台对历史数据进行提取、处理和标注,训练算法,建立可靠的决策模型。开发人员可以使用代码缺陷AI中的置信度分数来预测代码是兼容的还是有错误的。

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

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

对预处理后的数据进行标记。标记过程涉及理解为每个已关闭的问题标记修复提交(错误已被关闭)的模式。在收集修复提交之后,通过回溯修复提交中每个文件的历史更改来识别引入错误的提交。

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

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

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

微软人工智能市场部总经理大卫·卡莫纳在一份新闻稿中表示,微软和Altran一直在合作改善软件开发周期,由Microsoft Azure提供支持的Code Defect AI是一种创新工具,可以通过使用机器学习来帮助软件开发人员。

代码缺陷AI可以托管在本地,也可以托管在Microsoft Azure等云计算平台上。该解决方案可以根据需要与其他源代码管理工具集成。

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

德勤(Deloitte)分析师大卫·沙茨基(David Schatsky)和苏拉布·邦布(Sourabh Bumb)表示,这些平台最大的好处是效率。他们著有“人工智能正在帮助制造更好的软件”一书。人工智能辅助编码的好处很多。然而,对公司来说,最主要的好处是效率。许多新的人工智能支持的工具的工作方式类似于拼写和语法检查器,使程序员能够将他们需要键入的击键次数减少约50%。他们还可以在编写代码时发现错误,同时还可以自动化确认软件质量所需的多达一半的测试。随着公司继续依赖开源代码,这一能力变得更加重要。德勤的报告可以显著加快编码过程,将开发人员需要键入的击键次数减少一半,甚至在代码审查或测试之前就能捕获错误,并自动生成质量保证所需的一半测试。

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

从最热门的编程语言到薪水最高的工作,获取您需要了解的开发人员新闻和提示。每周。

今天报名