
近日,英特尔发布了与麻省理工学院和佐治亚理工学院联合开发的全新机器编程系统。该系统称为机器推理代码相似性系统 (MISIM),是一种自动化引擎,可通过识别代码结构和分析与其他功能相似代码的句法差异来检测软件意图。
“英特尔机器编程的最终目标是让每个人都能创建软件,”英特尔机器编程研究所创始人、首席科学家兼主任 Justin Gottschlich 说。“当这个目标完全实现时,每个人都可以做自己最擅长的事情。” ,例如代码、自然语言或其他方式来表达他们的设计意图到机器上来创建软件。这是一个大胆的目标程序员编程必备的6大装备,需要付出很多努力,而 MISIM 对我们来说是坚实的一步。”
随着异构计算的兴起,硬件和软件系统变得越来越复杂,跨架构专业程序员的短缺导致行业对新的开发方法的需求越来越突出。“机器编程”一词最早出现在英特尔研究院与麻省理工学院联合发布的《机器编程的三大支柱》一文中,旨在通过自动化工具提高开发效率。在各种新兴的机器编程工具中,代码相似性是一项关键技术,它具有使软件开发过程准确高效地自动化以满足跨架构编程需求的潜力。
但是,构建一个准确的代码相似度系统本身就是一个比较困难的问题。这些系统需要识别两个代码段是否具有相似的特征并需要实现相似的目标。当只提供源代码时,这是很难实现的。但英特尔与麻省理工学院和佐治亚理工学院联合开发的 MISIM 可以准确识别两段代码是否在运行相似的计算过程,即使这两段代码使用不同的数据结构和算法。正如 Gottschlich 所说,“这是实现机器编程伟大愿景的重要一步。”
MISIM 与现有代码相似性系统的主要区别在于它具有创新的上下文感知语义结构(CASS)程序员编程必备的6大装备,可以提取代码的真正目的。与其他现有方法不同,CASS 可以配置为特定的上下文,并在更高级别捕获描述代码的信息。因此,CASS 可以提供更精确的见解,例如“代码可以实现什么”,而不是“如何实现”的问题。此外,MISIM 无需使用编译器(将人类可读源代码转换为计算机可执行机器代码的程序)即可完成所有这些工作。因此,与现有系统相比,MISIM 具有更多优势,包括能够在开发人员仍在编写的不完整代码段上执行,
一旦代码结构集成到 CASS 中,根据设计目标,多个神经网络系统将为代码段分配相似度分数。换句话说,如果两段代码在结构上看起来非常不同,但都执行相同的功能,那么这些神经网络系统将给出“高度相似”的分数。
通过将这些原则整合到一个统一的系统中,英特尔、麻省理工学院和乔治亚理工学院的研究人员发现,MISIM 在识别相似代码段方面的准确度是以前最先进的系统的 40 倍。
英特尔将继续扩展MISIM的功能,目前已从研究阶段进入演示阶段。目标是创建一个代码推荐引擎,以帮助软件开发人员在英特尔的各种异构架构上进行编程和开发。这样的系统可以识别开发人员简单算法输入背后的意图,并推荐具有相似语义但性能更好的候选代码。
英特尔机器编程研究所也在与英特尔的软件团队合作,研究如何将 MISIM 集成到日常开发中。Gottschlich 也是宾夕法尼亚大学的兼职助理教授,他希望帮助软件部门和英特尔整体提高生产力,并消除修复编程错误的繁琐工作。“如果一台机器可以自动检查和修复错误,我认为大多数开发人员会更愿意让它完成这项工作,至少我愿意,”Gottschlich 说。
请登录后发表评论
注册
社交帐号登录