英特尔研究人员创建了AI系统 该系统对2条代码的相似性进行了评分

数码
2023-05-11

英特尔科学家表示,他们与麻省理工学院和佐治亚理工学院的研究人员合作开发了一种自动引擎-机器推断代码相似性(MISIM),该引擎可以确定两段代码何时执行相似的任务,即使它们使用不同的结构和算法。从表面上看,MISIM的性能要比当前最先进的系统高40倍,显示出从代码推荐到自动错误修复的应用前景。

随着异构计算(即使用多个处理器的系统)的兴起,软件平台变得越来越复杂。机器编程(由英特尔实验室和麻省理工学院创造的术语)旨在通过自动化的,由AI驱动的工具来解决这一问题。关键技术是代码相似性,或者是试图确定两个代码片段是否显示相似特征或实现相似目标的系统。然而,建立精确的代码相似性系统是一个相对未解决的问题。

MISIM之所以起作用,是因为它具有新颖的上下文感知语义结构(CASS),该结构使用AI和机器学习算法来确定给定源代码的目的。一旦将代码的结构与CASS集成在一起,算法就会根据代码要执行的工作分配相似性分数。如果两个代码看起来不同但执行相同的功能,则模型会将它们评为相似,反之亦然。

可以将CASS配置为特定的上下文,使其能够捕获更高级别描述代码的信息。而且它可以在不使用编译器的情况下对代码进行评级,该程序将人类可读的源代码转换为计算机可执行的机器代码。英特尔称,这赋予了可用性优势,允许开发人员在不完整的代码片段上执行。

英特尔表示,它正在扩展MISIM的功能集,并将其从研究阶段转移到演示阶段,目的是创建一个代码推荐引擎,以协助内部和外部研究人员对其架构进行编程。所提出的系统将能够识别算法背后的意图,并提供语义上相似但性能有所提高的候选代码。

这可以为雇主省去一些麻烦-更不用说帮助开发人员自己了。根据剑桥大学法官商学院的一项研究,程序员花费50.1%的工作时间不进行编程,而将其编程时间的一半用于调试。估计每年的调试总费用为3120亿美元。像MISIM这样的以AI为动力的代码建议和审查工具有望大幅削减开发成本,同时使编码人员能够专注于更具创造性,减少重复性的任务。

“如果我们在机器编程方面取得成功,最终目标之一就是使全球人口能够创建软件,”英特尔实验室首席科学家兼机器编程研究总监贾斯汀·戈茨利希(Justin Gottschlich)在上一次采访中对VentureBeat表示。“您要做的关键事情之一是使人们能够简单地指定他们要表达或试图构建的内容的意图。一旦理解了意图,就可以通过机器编程来处理软件的创建,即实际的编程。”