现在的位置:主页 > 综合新闻 >

数百个缺陷被识别!英特尔开源机器编程工具C

来源:电脑编程技巧与维护 【在线投稿】 栏目:综合新闻 时间:2021-10-22

【作者】网站采编

【关键词】

【摘要】智东西(公众号:zhidxcom) 编译 | 程茜 编辑 | 李水青 智东西10月21日消息,英特尔近日开源了机器编程工具ControlFlag,这是一种使用机器学习来检测计算机代码问题的工具。理想情况下

智东西(公众号:zhidxcom)

编译 | 程茜

编辑 | 李水青

智东西10月21日消息,英特尔近日开源了机器编程工具ControlFlag,这是一种使用机器学习来检测计算机代码问题的工具。理想情况下,ControlFlag的应用可以减少调试应用程序和软件所需的时间。

在测试中,英特尔的机器编程研究团队表示,ControlFlag在专有的“生产质量(production-quality)”软件中发现了数百个缺陷,证明了它的实用性。

一、英特尔研发重点,机器编程三大支柱

英特尔机器编程研究团队(MPR)的历史可以追溯到2017年。从那时起,英特尔就已经开始着手,构建新颖的机器编程(MP)系统,如ControlFlag,这些系统有助于改进代码调试或自动提取性能。

英特尔实验室的首席人工智能科学家兼机器编程研究总监和创始人Justin Gottschlich表示,研究小组的第一个目标是将开发软件所需的总时间减少1,000倍。例如,今天可能需要三年才能完成的事情,在未来一天内就可以用机器编程系统完成。除了提高软件开发生产力之外,第二个目标是确保机器编程系统在合成新软件时保持特定的质量特征,如准确率、性能、安全性和可维护性等特征。

目前,几乎所有大型软件在准确性、性能或安全方面都存在漏洞。一些留存时间久,无法被专家程序员检测到的错误可以通过机器编程自动检测,并实现零人工干预。此外,随着软件在不断增加新功能,软件更新会使得引入错误的可能性增加并出现问题。

值得注意的是,某些错误会存在潜在的安全漏洞,造成损失数百万美元的灾难性后果。

“机器编程的三大支柱”是英特尔机器编程研究的关键:

第一个支柱是意图,旨在发现编程的意图,从软件中提升意义,确定人类向机器表达想法的新方式。

第二个支柱是发明,创建新的算法和数据结构来实现意图,涉及创建或改进算法核心硬件和软件构建块,使用各种机器编程技术实现一些已知的意图。

第三个支柱是适应,在不断变化的硬件、软件世界中发展软件,自主地演变软件特定生态系统,协助计算后端进展。自适应系统主要用于帮助识别和改进软件质量特性,例如性能、安全性和可维护性。

从三大支柱的角度来看,ControlFlag集中落在了适应支柱,它试图找到软件编码异常。虽然ControlFlag还不能自动减轻它发现的缺陷,但它会为用户提供潜在更正的建议。

二、ControlFlag测试发现数百个漏洞

正式开源前,ControlFlag已在生产级软件和广泛使用的开源软件系统上进行了测试。

例如去年,ControlFlag发现了客户端URL(Client URL,cURL)中的代码异常。客户端URL是一个计算机软件项目,每天使用各种网络协议传输数据超过10亿次。在向客户端URL团队报告异常后,他们认可了ControlFlag的发现并随后修补了代码。

Gottschlich在LinkedIn上的一篇博文中提到:“最近,ControlFlag通过在专有生产级软件中识别数百个与内存和潜在系统崩溃错误相关的缺陷,取得了最先进的进展。此外,ControlFlag在几个高质量的开源软件存储库中也发现了数十个新的异常。”

ControlFlag可与任何包含控制结构的编程语言一起使用,并利用无监督学习来减少调试工作,从未标记的源代码中学习。随着新数据的引入,它会不断发展以使其实现自我发展。ControlFlag将自学对数据进行分类,从其固有结构中学习处理未标记的数据。

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

三、减少代码调试时间,培育开源生态

这些惊人的结果显示了ControlFlag能够显著提高软件开发的成本和效率。此外,对高质量代码的需求增多,吸引了越来越多的有抱负的程序员加入这个行业。

最近的一项研究发现,2020年IT行业在与调试代码相关的软件开发成本上花费了约2万亿美元,其中约50%的IT预算用于调试代码。

“英特尔致力于使软件更加完善,维护起来更轻松,同时保持卓越的性能,而不会引入安全漏洞。我们希望像ControlFlag这样的项目可以大大减少在全球范围内开发软件所需的时间。”Gottschlich表示,“在调试上花费的大量时间被节省,从而使我们能够加速技术进步。”

文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/zonghexinwen/2021/1022/1301.html

上一篇:蝉联冠军11年!服务器编程语言统计:PHP使用率高
下一篇:盛通教育:少儿编程创作与信息学专项赛

电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: