当前位置:首页 > 公众号精选 > AI科技大本营
[导读]整理|孙胜出品|CSDN近日,英特尔开源了自动代码调试工具ControlFlag源代码,ControlFlag源码现在可通过GitHub获得。据了解,ControlFlag可用来帮助更多开发者自主检测代码错误,主要利用AI自动识别软件和固件代码中的错误,为开发人员节省手动调试时间...

AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag


整理 | 孙胜


出品 | CSDN


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


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


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


AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag


来源于网络



AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag


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



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


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


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


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



AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag


“超能的” 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 的发现并重新设计代码以修补问题。



AI 帮忙找 Bug ,英特尔开源代码编程工具 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 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭