互联网爱好者创业的站长之家 – 南方站长网
您的位置:首页 >科技 >

英特尔开源AI驱动工具 用于发现代码中的错误

时间:2021-10-22 10:50:02 | 来源:

英特尔今天开源了ControlFlag,这是一种使用机器学习来检测计算机代码问题的工具 - 理想情况下可以减少调试应用程序和软件所需的时间。在测试中,该公司的机器编程研究团队表示,ControlFlag 在专有的“生产质量”软件中发现了数百个缺陷,证明了它的实用性。

英特尔首席人工智能科学家 Justin Gottschlich在 LinkedIn 上的一篇博文中写道:“去年,ControlFlag 在客户端 URL (cURL) 中发现了一个代码异常,这是一个计算机软件项目,每天使用各种网络协议传输数据超过 10 亿次。”“最近,ControlFlag 通过在专有生产级软件中识别数百个与内存和潜在系统崩溃错误相关的潜在缺陷,取得了最先进的结果。此外,ControlFlag 在几个高质量的开源软件存储库中发现了数十个新的异常。”

对高质量代码的需求吸引了越来越多的有抱负的程序员加入这个行业。经过多年的学习,他们学会了将摘要转化为具体的、可执行的程序——但大多数人的大部分工作时间都不是用来编程的。最近的一项研究发现,2020 年IT 行业在与调试代码相关的软件开发成本上花费了约2 万亿美元,其中约50% 的 IT 预算用于调试。

ControlFlag 可与任何包含控制结构(即指定程序中控制流的代码块)的编程语言一起使用,旨在通过利用无监督学习来减少调试工作。使用无监督学习,算法会受到“未知”数据的影响,这些数据不存在先前定义的类别或标签。机器学习系统——在这种情况下是 ControlFlag——必须自学对数据进行分类,处理未标记的数据以从其固有结构中学习。

ControlFlag 不断从未标记的源代码中学习,随着新数据的引入,“进化”使自己变得更好。Gottschlich 表示,虽然它还不能自动减轻它发现的编程缺陷,但该工具为开发人员提供了潜在的更正建议。

“英特尔致力于使软件更加健壮,维护起来更轻松,同时保持卓越的性能,而不会引入安全漏洞。我们希望像 ControlFlag 这样的项目可以大大减少在全球范围内开发软件所需的时间,”Gottschlich 写道。“由于在调试上花费了大量时间,即使在这个领域节省一点时间也可以节省时间和金钱,从而使我们作为一个社区能够加速技术进步。”

ControlFlag 等 AI 驱动的编码工具以及 Tabnine、Ponicode、Snyk 和 DeepCode 等平台有可能减少开发人员之间代价高昂的交互,例如问答环节和重复的代码审查反馈。IBM和OpenAI是研究机器学习在软件开发领域潜力的众多公司之一。但研究已经显示的是AI有很长的路要走,才可以代替许多的人工作业,人类的程序员定期执行。

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