英特尔的ControlFlag利用AI来自动检测代码中的错误

2021-01-21 15:01:46来源:

在一个在线活动“实验室日”上,展示了英特尔产品组合的创新,该公司推出了ControlFlag,它是一种可以自动检测代码错误的机器编程系统。英特尔声称,即使处于起步阶段,ControlFlag仍有望作为一种生产力工具来帮助开发人员完成劳动密集型的调试任务。据报道,在初步测试中,ControlFlag对超过10亿条未标记的“生产质量”代码行进行了培训和了解了缺陷。

剑桥大学法官商学院发表的一项研究表明,程序员将50.1%的工作时间用于编程。另一半是调试。估计每年的调试总费用为3120亿美元。然后,由AI驱动的代码建议和查看工具有望大幅削减开发成本,同时使编码人员能够专注于更具创造性,减少重复性的任务。

英特尔表示,ControlFlag的错误检测功能是通过机器编程,机器学习,形式方法,编程语言和编译器的融合来实现的。利用异常检测,ControlFlag从示例中学习以检测正常的编码模式,识别可能导致错误的代码异常。英特尔声称,该系统可以不考虑编程语言而检测到这些异常,并且使用所谓的无监督方法来适应任何开发人员的风格。利用程序应评估的控制工具的有限输入,ControlFlag可以识别编程语言的风格变化,类似于读者识别完整单词之间的差异或使用英语中的缩写的方式。

ControlFlag学会识别和标记样式选择,并可以基于其洞察力来自定义错误识别和解决方案建议。据英特尔称,这最大程度地降低了系统将两个开发人员团队之间的风格偏差错误地描述为错误的机会。

迄今为止,ControlFlag已用于识别软件开发人员先前审查过的广泛使用的代码库中存在的潜在错误。这些代码库之一是针对cURL的,cURL是一个计算机软件项目,提供了用于使用各种网络协议传输数据的库和命令行工具。当ControlFlag分析cURL时,英特尔表示已经发现了以前未发现的异常,促使cURL开发人员提出了更好的解决方案。英特尔声称,它甚至开始在内部使用ControlFlag进行评估,以识别其自身软件和固件产品化中的错误。

ControlFlag是利用AI和机器学习来完成和审核代码的一系列工具中的最新工具。Codota正在开发一个平台,该平台可以建议并自动完成Python,C,HTML,Java,Scala,Kotlin和JavaScript中的脚本。Ponicode利用AI来检查代码的准确性,而DeepCode提供了一种机器学习支持的系统来进行整个应用程序的代码审查(与Amazon一样)。迄今为止,最令人印象深刻的项目之一可能是TransCoder,这是Facebook研究人员开发的AI系统,可以将代码从一种编程语言转换为另一种编程语言。另一个竞争者是来自OpenAI的模型,该模型在GitHub存储库上进行了训练,可以从英语注释中生成整个功能。

英特尔实验室的首席科学家兼总监贾斯汀·戈茨利希(Justin Gottschlich)在最近的一次采访中对VentureBeat表示:“这类程序实际上只是在试图消除创建软件的细节。”“他们可以通过调试来帮助提高生产率。他们可以增加技术领域的工作数量,因为没有编程背景的人们将能够利用这些意图界面通过机器来捕捉自己的创造性直觉并抓住它们。”


返回科技金融网首页 >>

版权及免责声明:凡本网所属版权作品,转载时须获得授权并注明来源“科技金融网”,违者本网将保留追究其相关法律责任的权力。凡转载文章,不代表本网观点和立场,如有侵权,请联系我们删除。


相关文章