在今日的 Intel Labs Day 2020 活动期间,英特尔展示了能够检测代码错误的 ControlFlag 机器编程工具。基于 10 亿条包含各种错误的未标记生产质量代码的机器学习培训,ControlFlag 得以通过异常检测技术,对传统编程模式展开筛查。无论使用的是哪种编程语言,它都能够有效地识别代码中可能导致任何错误的潜在异常。
研究配图- 1:机器学习三大支柱,会意、创造、适应。
这套系统扩展了英特尔的开发者快速分析项目,旨在帮助软件工程师和研究人员更快、更好地编写代码。通过无监督学习来训练自身,ControlFlag 能够识别代码中的模式和风格。
此外 ControlFlag 不会简单粗暴地将风格倾向上的差异判断为语法错误,因为这种情况只是写作方式上的不同。
一个适当的类比,就是将实际工作与传统的语法检查工具进行比较。通过英语中给定的句法或一组单词,来检查代码的正确与否。
经过测试,ControlFlag 能够识别生产质量代码中的错误。在某种情况下,它甚至在 cURL 代码中识别出了一个此前从未被开发者检查发现的异常。
值得一提的是,英特尔已开始在企业内部的软件和固件产品开发过程中使用 ControlFlag 代码错误检查系统。
Intel Labs 机器编程研究首席科学家兼董事创始人 Justin Gottschlich 认为,该系统可以极大地减少评估和调试代码所需耗费的时间与资金。
此前有研究称,开发人员耗费了大约 50% 的时间来调试软件。但在 ControlFlag 之类的系统帮助下,我们可将更多时间放到人类最擅长的创新事务上。