英特尔今天推出了机器编程研究系统ControlFlag,它可以自主检测代码中的错误。虽然仍处于早期阶段,这个新颖的自我监督系统有望成为一个强大的生产力工具,帮助软件开发者进行耗时费力的Debug。在初步测试中,ControlFlag利用超过10亿行未标记的产品级别的代码进行了训练并学习了新的缺陷。
英特尔首席科学家、英特尔研究院机器编程研究主任及创始人Justin Gottschlich表示:“我们认为ControlFlag是一个强大的新工具,可以大幅减少评估和Debug代码所需的时间和成本。研究发现,软件开发者会花费大约一半的时间用来Debug。通过ControlFlag以及类似的系统,程序员有望大幅减少Debug的时间并把更多时间用于人类程序员最擅长的工作——向机器展现有创造性的新想法。”
在软件重要性逐渐突显的今天,开发者依然继续把不成比例的大量时间用于修复Bug,而不是用于写代码。事实上,在IT行业每年花费的1.25万亿美元软件开发成本中,大约有50%是用于Debug代码1 。
随着异构时代的来临,即由多样化专用处理器组合来管理当今的海量数据,管理这些系统所需的软件变得越来越复杂,使得出现Bug的可能性也越来越高。此外,找到能够为跨架构的硬件正确、高效、安全地写代码的程序员非常困难,这同样也增加了代码中出现难以发现的新错误的可能性。因此,Debug代码工作将给开发者和整个行业带来更高的代价。
完全实现的ControlFlag通过自动化处理测试、监控和Debug等繁琐的软件开发工作,可以帮助缓解上述挑战。这不仅可以提高开发者的工作效率并让他们把更多时间用于创意,也能解决当前软件开发中成本最高的问题之一。
ControlFlag检测Bug的功能是通过机器编程实现的,其中融合了机器学习、形式化方法、编程语言、编译器和计算机系统。
具体来说,ControlFlag通过被称为异常检测(anomaly detection)的功能进行运转。作为自然界中生活的人类,我们通过观察了解到某些被认为是“正常”的模式。类似地,ControlFlag通过学习经过验证的例子来检测正常的编程模式,发现代码中可能造成Bug的异常。此外,不管代码使用什么编程语言,ControlFlag都可以检测这些异常。
ControlFlag的无监督模式识别方法的一个主要优势是,它可以从本质上学会适应开发者的风格。在有限的需要评估的控制工具输入信息中,ControlFlag可以识别编程语言中的各种风格,类似于读者识别英语中使用完整单词和缩略语的差异。
该工具会学会识别并标记这些风格选择,并根据其洞察可以自制错误识别和建议解决方案,从而让ControlFlag尽可能避免把两个开发团队之间的风格差异认为是代码错误。ControlFlag已经证明,能够在广泛使用的产品级别代码中发现隐藏的Bug,而这些代码之前已经被软件开发者审核过。例如,在分析cURL(一个开源的命令行工具,被程序员广泛地用于实现互联网下载)时,ControlFlag发现了一个之前未被发现的异常,促使cURL开发者提出了一个更好的解决方案。
英特尔甚至已经开始评估在内部使用ControlFlag,在自己的软件和固件产品化中寻找Bug。这是英特尔Rapid Analysis for Developers项目的关键组成部分,该项目旨在通过提供专家支持从而帮助程序员加快速度。
fqj
-
英特尔
+关注
关注
61文章
10316浏览量
181051 -
编程
+关注
关注
90文章
3723浏览量
97430
发布评论请先 登录
超越台积电?英特尔首个18A工艺芯片迈向大规模量产
性能再越级!英特尔推出全新酷睿Ultra 200HX Plus系列移动处理器
英特尔与华阳通用联手推出全新AI Box解决方案
英特尔携手产学合作伙伴发布《具身智能机器人安全子系统白皮书》
英特尔举办行业解决方案大会,共同打造机器人“芯”动脉
特斯拉要自建超大型晶圆厂,马斯克:与英特尔合作 “有必要”
主控CPU全能选手,英特尔至强6助力AI系统高效运转
使用英特尔® NPU 插件C++运行应用程序时出现错误:“std::Runtime_error at memory location”怎么解决?
英特尔锐炫Pro B系列,边缘AI的“智能引擎”
直击Computex 2025:英特尔重磅发布新一代GPU,图形和AI性能跃升3.4倍
英特尔发布全新GPU,AI和工作站迎来新选择
英特尔以系统级代工模式促进生态协同,助力客户创新
英特尔代工:明确重点广合作,服务客户铸信任
英特尔宣布裁员20% 或2万人失业
英特尔首秀上海车展:以“芯”赋能,携手合作伙伴推动全车智能化
英特尔最新推出了机器编程研究系统ControlFlag
评论