ai帮忙找bug,英特尔开源代码编程工具controlflag

AI科技大本营 AI科技大本营     2023-01-21     785

关键词:

整理 | 孙胜

出品 | CSDN

近日,英特尔开源了自动代码调试工具 ControlFlag 源代码,ControlFlag 源码现在可通过 GitHub 获得。

据了解,ControlFlag 可用来帮助更多开发者自主检测代码错误,主要利用 AI 自动识别软件和固件代码中的错误,为开发人员节省手动调试时间。

据悉,英特尔于去年年底首次宣布 ControlFlag,目前该系统只有英特尔内部人员使用,用来自动检测软件开发过程中的异常情况。

来源于网络

减少代码调试时间与成本支出

由于代码调试对于程序开发至关重要,几乎所有的大型软件都需要调试,才能最大程度上避免软件出错。

但是对于绝大多数开发人员来说,这个过程不仅非常耗时,而且大部分调试只能手工作业。因为修复一个软件缺陷可能需要几天、几周甚至几个月的时间,据估计,多达 50% 的软件开发时间浪费在调试程序上。这是因为大多数错误都需要语义分析来识别、评估根本原因,即使是最先进的调试系统也无法有效地执行这种分析。

英特尔实验室首席人工智能科学家 Justin Gottschlich 也表示:“尽管在过去的几十年里,研究自动化调试方面取得了部分进展,但现有工具仍无法完美发现日益复杂的软件错误。这也是调试仍然主要由人为驱动的过程的一个关键原因。”

除此之外,调试代码的预算支出也很高。据英特尔官方介绍,2020 年 IT 行业在与调试代码相关的环节上大约花费了 2 万亿美元,约占 IT 平均预算的一半。

“超能的” ControlFlag

据悉,该系统是英特尔机器编程研究 (MPR) 项目的一部分,该项目的总体目标是通过自动化有望将开发软件所需的时间减少 1,000 倍。例如,Gottschlich 的团队正在研究的领域之一是最终扩展 ControlFlag 的能力,以自动修复它检测到的错误。

自去年推出以来,英特尔已在各种软件系统上测试了该机器学习工具,并取得了可喜的成果。“当我们最初设计系统时,我们没有预料到它能够发现高度复杂的缺陷,”英特尔实验室首席人工智能科学家 Justin Gottschlich 表示。“然而,鉴于其自我监督的设计,ControlFlag 能够发现高度复杂、细微的软件缺陷,甚至连我们这些构建它的人都感到震惊。”

英特尔的团队通过使用一种“无监督”的学习方法,以允许 ControlFlag 检测更广泛的存储库中的错误。该系统从超过 10 亿行未标记的源代码中学习编码模式,使其能够达到很高的准确性,甚至可以适应开发人员的风格,以区分软件异常和编程语言的风格变化。

ControlFlag 适用于任何包含控制结构的编程语言(如 C/C++),而且ControlFlag 能够不断地从未标记的源代码中学习,随着新数据的引入而 “进化”,使自己变得更好。虽然它还不能自动解决它所发现的代码错误,但该工具可以为开发人员提供了潜在的修改建议。

Justin Gottschlich 还表示,目前为止仅在两个专有软件存储库上使用 ControlFlag,就发现了生产质量、已部署程序中的 300 多个缺陷。例如,去年 ControlFlag 在名为 Client URL (cURL) 的计算机软件项目中检测到代码异常,该项目每天使用各种网络协议传输数据超过 10 亿次。在向 cURL 团队报告异常后,他们同意 ControlFlag 的发现并重新设计代码以修补问题。

不断进步的 ControlFlag

随着英特尔团队致力于开发 ControlFlag,过去的一年也带来了相当多的学习点。Gottschlich 认为,需要改进的两个关键领域是减少该工具报告的误报数量,以及将更先进的语义分析器集成到 ControlFlag 的推理中。

然而,作为一个将成为英特尔机器编程工具套件之一的系统,ControlFlag 将继续发展。“ControlFlag 的进步不太可能停止,”Gottschlich 强调。“这主要是因为随着软件编程语言、硬件描述语言和计算设备的发展,ControlFlag 也需要发展以跟上它们的步伐。”

与此同时,英特尔的 MPR 团队正在开展一些专注于简化软件开发的项目。例如,去年该公司还发布了一款与麻省理工学院实验室共同开发的工具,该工具可以研究代码片段以了解软件打算做什么。该系统称为 MISIM(机器推断代码相似性),它使用预先存在的代码目录来理解新算法背后的意图,并通过建议其他编程方法或提供使代码更高效的选项来帮助工程师开发软件。

Gottschlich 预计 MISIM 有一天会与 ControlFlag 一起工作。“当正确想法融合在一起时,我们设想了一个更强大的新系统,该系统将能够检测 ControlFlag 目前可以检测到的所有缺陷,以及由于潜在的复杂性而目前无法检测到的数百种缺陷。”Gottschlich表示。

对此,你怎么看,欢迎留言评论。

参考链接:

https://www.zdnet.com/article/developers-intels-automated-debugging-tool-controlflag-is-now-open-source/

GitHub地址:

https://github.com/IntelLabs/control-flag

资讯

AI 考古比胡八一更高效

资讯

阿里云投入 20 亿发力操作系统

资讯

阿里发布云芯片倚天710

技术

ST-GCN 实现人体姿态行为分类

分享

点收藏

点点赞

点在看

比赛报名第四范式x英特尔:ai应用与异构内存编程挑战赛

【AI应用与异构内存编程挑战赛】第四范式联合英特尔共同举办“AI应用与异构内存编程挑战赛”。基于人工智能应用,以异构内存架构为硬件底座,特别是基于英特尔®傲腾™持久内存,进行两者结合的前沿应用探索以及硬核编... 查看详情

ai生成的代码可信吗?编写的代码有bug吗?

...前,大部分的软件开发人员会让AI帮助开发者们编写代码,但是开发人员发现AI会像程序员的代码一样还是存有bug。去年6月,提供托管和代码协作工具的微软子公司GitHub发布了一个测试版的程序,该程序使 查看详情

ai工具能不能帮我完成视频内容创作?

...用户使用ChatGPT也是玩出了各种花样:有的程序员用它找代码bug。不仅可以准确地找到了代码中的bug并解释了出现的原因,甚至自动修复bug,写出一段正确的程序。有的学生用它来写论文,它直接给你罗列出清晰的大纲和要点。... 查看详情

matlab安装后打不开出现找不到指定模块提示求帮忙

参考技术A我也出现过这个问题。解决办法:如果你没有新建系统变量,就新建一个:右击“我的电脑”>属性>高级>环境变量,在系统变量里点击“新建”(名BLAS_VERSION,值C:\Matlab7\bin\win32\atlas_Athlon.dll);如果你... 查看详情

githubcopilot代码笔刷火了,一刷修bug加文档,特斯拉前ai总监:我现在80%的代码由ai完成...

梦晨发自凹非寺量子位|公众号QbitAI用VSCode写代码和用Photoshop画图有什么共同点?现在,它们都有了“笔刷”。一段难以读懂的单行代码,一刷就变成了朴实无华的”if…elseif”。这是GitHub为AI编程插件Copilot的增加的试... 查看详情

找bug

layout:defaulttitle:找BUGcategory:[技术,C/C++]comments:true---找一找BUG一段代码,实现一个pop,push,和getmin都是O(1)的方法.源代码伙伴代码如下,代码的地址可以通过这个访问:UbuntuPastebinhttps://paste.ubuntu.com/p/cX2Cq56PYt/#include<stdio.h># 查看详情

c++助教篇6_week3找bugs(代码片段)

下面是一个返回局部变量的例子,我们知道在编程中返回局部变量会引发很多问题,但实际编程的时候可能由于编译器的“友好”而没有检测到这种错误。classMyClassprivate:constintDEFAULT_SIZE=100;public:MyClass()=default;MyClassf... 查看详情

intel集成显卡开opengl模式卡

1.opengl的代码在英特尔核心显卡上运行时帧数超高,会超过1000fps甚至达到2000fps,核显GPU负载直接达到100%这个问题具体的原因暂时不清楚,但有说法是英特尔核显在运行时没有帧数限制,能跑多快就跑多快,从而产生这个问题。... 查看详情

intel带你初识视觉识别--openvino(代码片段)

🆙前言:本文内容为英特尔计算机视觉课程,介绍OpenVINO工具,课程分为初中高级,初级课程从AI的基本概念开始,介绍人工智能与视觉应用的相关知识及应用场景。整个课程包含了视频的处理,深度... 查看详情

intel带你初识视觉识别--openvino(代码片段)

🆙前言:本文内容为英特尔计算机视觉课程,介绍OpenVINO工具,课程分为初中高级,初级课程从AI的基本概念开始,介绍人工智能与视觉应用的相关知识及应用场景。整个课程包含了视频的处理,深度... 查看详情

智能算力ai破局!英特尔携手百度飞桨,共话ai技术创新引领新征程

WAVESUMMIT+2022深度学习开发者峰会重磅来袭!本届峰会,将呈现以飞桨为代表的深度学习领域的最新技术突破、最扎实的产业实践和共创共享的生态成果。还有来自产学研界的专家学者和资深AI工程师将在七大平行论坛... 查看详情

英特尔 Fortran 编译器找不到模块“mpi”

】英特尔Fortran编译器找不到模块“mpi”【英文标题】:IntelFortrancompilercannotfindmodule`mpi`【发布时间】:2018-12-0608:52:49【问题描述】:我最近在学术许可下安装了Intel的ParallelStudioXE2019,我正在尝试编译采用MPI的Fortran90代码。我收... 查看详情

结对编程-人和代码都长得好看系列(代码片段)

  说实话,看本人队友的代码已有1年之余,也帮忙上刀山下火海不辞劳苦为她找BUG,有时找了n个小时就是因为把i达成了1,==打成了=,然而凭心而论此人代码武功高强,内力深厚,不仅人长得漂亮而且代码风格确实登得大雅... 查看详情

java编程中忽略这些细节,bug肯定找上你(代码片段)

摘要:在Java语言的日常编程中,也存在着容易被忽略的细节,这些细节可能会导致程序出现各种Bug。本文分享自华为云社区《Java编程中容易忽略的细节总结丨【奔跑吧!JAVA】》,作者:jackwangcumt。Java语... 查看详情

英特尔人工智能圆桌论坛举行四位大咖论道ai

英特尔人工智能圆桌论坛举行四位大咖论道AI2017-04-0117:57   北京2017年4月1日电/美通社/-- 毫无疑问,人工智能已是最具变革力的发展趋势之一,在3月31日举行的2017英特尔中国媒体纷享会上,以“TheNEXT:走进人工智... 查看详情

英特尔新cpu发布之后,ai计算的格局要变了

...;而说到AI背后的算力,人们经常会先想到GPU。从2019年英特尔为其第二代至强可扩展处理器增添了内置的深度学习加速技术后,原本定位通用计算的CPU芯片,也加入了为AI加速的行列。今天,代号为「SapphireRapids」... 查看详情

智能算力ai破局!英特尔携手百度飞桨,共话ai技术创新引领新征程

...连接、从云到边缘的基础设施、人工智能、传感和感知。英特尔与百度飞桨在这次数智化浪潮中携手,以软硬件融合创新的方式,共同赋能产业智能化升级。在本次WAVESUMMIT+2022中,英特尔分论坛特别邀请了国内产... 查看详情

构筑超异构计算时代,英特尔ai全布局

作者 |伍杏玲出品| AI科技大本营(ID:rgznai100)我们正值数据井喷时代,据IDC发布《数据时代2025》报告显示,全球每年产生的数据将从2018年的33ZB增长到2025年的175ZB。其中大部分为非结构化数据,对数据实时性... 查看详情