全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名

免费领取试听课程

并获得专业顾问一对一进行选课辅导

课程名称不能为空
姓名不能为空
手机号码不能为空

领取成功

AI帮你除Bug,英特尔编程工具

行业新闻 汉码未来 | AI 英特尔 bug 编程

2021-10-26 09:09:14

最近,英特尔开源了ControlFlag的自动代码调试工具。ControlFlag可以帮助更多的开发者自主地检测代码错误,它主要是利用AI自动识别软件和固件代码中的错误,为开发者节省人工调试时间。

AI帮你除Bug,英特尔编程工具

降低代码调试时间。

因为代码调试对程序开发是非常重要的,因为几乎所有大型软件都需要不断地调试,以尽量避免错误。

但对大多数开发人员而言,这一过程不仅耗费大量的时间,而且大多数调试都只能手工完成。由于修正软件缺陷要花费数天、数周甚至数月的时间,据估计,大约有50%的软件开发时间是用来调试程序的。因为大多数错误都需要语义分析才能确定,并且评估根本原因,甚至最先进的调试系统也不能有效地执行该分析。

虽然在过去几十年中,在研究自动化调试方面有了一定的进步,但是现有工具仍然不能完美地发现日益复杂的软件错误,英特尔实验室的首席人工智能科学家JustinGottschlich说。调试仍然主要由人来驱动,这也是一个重要原因。”

此外,调试代码所需的开销非常大。根据英特尔官方的说法,2020年IT产业大约要花2万亿美元用于与代码调试有关的软件开发费用,也就是平均IT预算的一半。

据报道,这套系统是英特尔机器编程研究(MPR)项目的一部分,其总体目标是通过自动化,使人们能够减少1,000倍地开发软件的时间。举例来说,Gottschlich的团队正在研究的一个领域就是能够对ControlFlag进行自动修复的功能。

英特尔公司自去年推出以来,已经在多种软件系统中对这种机器学习工具进行了测试,并取得了可喜的结果。“Gottschlich说:“当我们开始设计这个系统的时候,我们并不期望它能发现非常复杂的缺陷。“不过,ControlFlag在自我监控的设计下,能够找出高度复杂、细微的软件缺陷,甚至令构建软件的人都惊呆了。”

ControlFlag超能力。

英特尔研究小组采用了一种非监督学习方法,允许ControlFlag在更大范围内发现错误。这个系统从10亿多行无标记源码中学习编码模式,这使得它能达到很高的准确度,甚至适合开发者的风格,以区别软件异常和编程语言的风格。

据了解,ControlFlag适合于任何包含控制结构的编程语言(例如C/C++),其目的是利用不受监督的学习方式减少调试工作量。在无监督学习的情况下,将一个算法放入“未知”数据中,ControlFlag可以对数据进行分类,处理未标记的数据,并学习它的固有结构。

ControlFlag能够不断地从没有标记的源代码中学习,并通过引入新数据来使自己变得更好。尽管这并不能自动地解决它所发现的代码错误,但是这个工具能够向开发者提供可能需要的修改建议。

迄今为止,使用ControlFlag只在两个专有软件仓库上使用,英特尔实验室的首席人工智能科学家JustinGottschlich说,在已经部署的程序中,有超过300个缺陷存在。举例来说,ControlFlag去年在计算机软件项目ClientURL(cURL)中发现了代码异常,该项目每天通过各种网络协议传送超过十亿次的数据。当将异常报告给cURL团队之后,他们同意ControlFlag的发现,然后重新设计代码来修复问题。

ControlFlag的进步。

在过去一年中,英特尔团队一直在努力开发ControlFlag,并在过去一年中吸引了不少学习点。Gottschlich说,有两个关键方面需要改进,那就是减少这个工具报告的错误数量,即报告的错误数量,还有把更高级的语义分析程序集成到ControlFlag的推理中。

不过,ControlFlag作为一款英特尔机器编程工具套件的旗舰产品,它将继续得到发展。“Gottschlich说,ControlFlag的进展不会停止。“由于ControlFlag在软件编程、硬件描述语言和计算设备等方面都有了进步,因此需要不断地改进。

同时,英特尔的MPR团队也在从事一些项目,以简化软件开发。举例来说,去年,该公司发布了一款工具,它与MIT实验室联合开发,能够对代码片断进行研究,从而理解软件的意图。这个叫做MISIM(机器推理代码相似度)的系统利用一个预先存在的代码目录来理解新算法背后的意图,并通过提出其他编程方法或者提供各种选择来帮助工程师开发软件。


以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多AI帮你除Bug,英特尔编程工具相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。

    

分享到:



【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。 删除,请联系客服。
相关推荐
为什么选择汉码未来