0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MIT等推新型机器编程系统:机器推断代码相似性(MISIM)

如意 来源:新智元 作者:佚名 2020-09-04 14:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

计算机编程从未如此简单。

最初,程序员用手编写程序,将符号写到方格纸上,然后将它们穿孔打卡,计算机才可以对其进行处理。如果有一个标记不准确,整个过程可能需要重做。

如今,程序员使用了一系列功能强大的工具,可自动完成大部分工作。但是如果出现一个愚蠢的 bug 仍然可能使整个软件崩溃,随着系统变得越来越复杂,跟踪这些 bug 变得越来越困难。

最近,英特尔科学家与麻省理工学院(MIT),以及佐治亚理工学院(Georgia Tech)的研究人员共同推出了一种新的机器编程(MP)系统——机器推断代码相似性(MISIM)。该系统是一种自动引擎,旨在通过研究代码的结构,并分析具有类似行为的其他代码的句法差异来学习某个软件计划执行的操作。

MISIM系统的性能要比当前最先进的系统高出40倍,可以看出从代码推荐到自动错误修复的应用前景。

MISIM:提高开发效率,性能是最先进相似性系统的40倍

随着异构计算的兴起,硬件和软件系统变得越来越复杂。这种复杂性,再加上缺乏能够在多种体系结构中以专家水平进行编程的程序员,使得人们对新开发方法的需求日益凸显。

多年来,自动代码生成一直是研究的热点。微软正在将基本的代码生成构建到其广泛使用的软件开发工具中。

Facebook 开发了一个名为 Aroma 的系统,该系统可以自动完成小程序,而 DeepMind 开发的神经网络可以提供比人类设计的更有效的简单算法版本。甚至 OpenAI 的 GPT-3 语言模型也可以从自然语言提示中生成简单的代码段。

机器编程是英特尔实验室和麻省理工学院在「The Three Pillars of Machine Programming」论文中提出的一个术语 ,旨在通过使用自动化工具来提高开发效率。

这些新兴机器编程工具中的一项关键技术是代码相似性,它能准确有效地自动化某些软件开发过程来满足这一需求。

然而,建立精确的代码相似性系统是一个尚未解决的问题。这些系统试图确定两个代码片段是否显示出相似的特征或旨在达到相似的目标。当仅学习源代码时,这是一项艰巨的任务。

因此, 研究人员提出了机器推断代码相似性(MISIM),这是一种全新的端到端代码相似性系统。MISIM 可以准确推断两段代码何时执行相似的计算,即使这两段代码使用不同的数据结构和算法

英特尔实验室首席科学家兼机器编程研究总监 Justin Gottschlich 表示,「这是迈向更宏伟的机器编程愿景的重要一步。」

MISIM 与现有代码相似性系统之间的核心区别在于其新颖的上下文感知语义结构(CASS),其目的是了解代码的实际作用,可以帮助从代码语法中提升语义含义。

与其他现有方法不同,它可以将 CASS 配置为特定的上下文,从而使其可以捕获更高级别描述代码的信息。CASS 可以提供有关代码功能而非方法的更具体的见解。

此外,MISIM 无需使用编译器即可对代码进行评级,编译器将人类可读的源代码转换为计算机可执行的机器代码。

与现有系统相比,MISIM 还具有许多优势,包括能够在开发人员当前正在编写的不完整代码段上执行的能力,这是推荐系统或自动错误修复的重要实用特征。

MIT等推新型机器编程系统:机器推断代码相似性(MISIM)

MISIM系统总揽

MISIM 提供了基于神经的代码相似性评分算法,该算法可通过具有学习参数的各种神经网络体系结构来实现。

一旦将代码的结构集成到 CASS 中,神经网络系统就会根据其设计要执行的工作,为代码片段提供相似性评分。

换句话说,如果两段代码在结构上看起来有很大不同,但执行相同的功能,则神经网络会将它们评为大致相似。

研究人员最后将 MISIM 与三个最新的检测代码相似性系统进行了比较:

(i)code2vec

(ii)Neural Code Comprehension

(iii) Aroma

MIT等推新型机器编程系统:机器推断代码相似性(MISIM)

通过将这些原理整合到一个统一的系统中,研究人员发现MISIM能够比当前的最新系统更准确地识别相似的代码,最多可识别40倍。

从研究到演示:代码推荐,大幅削减开发成本

尽管英特尔仍在扩展 MISIM 的功能集,但公司已将其从研究工作转移到了演示工作,目的是创建一个代码推荐引擎,以协助所有软件开发人员能够跨英特尔各种异构体系结构进行编程。

这种类型的系统将能够识别开发人员输入的简单算法背后的意图,并提供语义上相似但性能有所提高的候选代码。

Gottschlich 表示,「我想,如果有可能,大多数开发人员会很乐意让机器为他们查找并修复错误」。

这可以为雇主省去一些麻烦,更不用说帮助开发人员自己了。

根据剑桥大学 Judge 商学院发表的一项研究,程序员将50.1%的工作时间用于编程,而将一半的时间用于调试。估计每年的调试总费用为3120亿美元。可以看出,这需要消耗大量精力和财力。

英特尔机器编程实验室还与英特尔的软件部门合作,以了解如何将 MISIM 集成到他们的日常开发中。像 MISIM 这样的以AI为动力的代码推荐和审查工具有望大幅削减开发成本,同时使编码人员能够专注于更具创造性、更少重复性的任务。

Gottschlich 在一次采访时表示,「如果我们在机器编程方面取得成功,最终目标之一就是使所有人能够创建软件。」
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3709

    浏览量

    96826
  • MIT
    MIT
    +关注

    关注

    3

    文章

    254

    浏览量

    24926
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136283
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器人竞技幕后:磁传感器芯片激活 “精准感知力”

    地磁基准的惯性导航系统可持续提供可靠数据。实测显示,搭载昆泰芯 KTM59 系列融合磁传感器的机器人,在复杂动态环境中定位可靠达 99.7%,较单一传感器方案提升 27%。 磁传感器芯片的技术突破
    发表于 08-26 10:02

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    (Action)三种核心通信方式的原理剖析与代码示例,尤其是代码讲解,更是清晰展现 ROS 2 分布式计算的底层逻辑,为后续开发奠定理论基础。还利用了海龟仿真70+命令行与编程示例,
    发表于 04-27 11:24

    KUKA机器编程说明(英文)

    电子发烧友网站提供《KUKA机器编程说明(英文).pdf》资料免费下载
    发表于 03-07 14:05 0次下载

    为什么无法从源代码推断OpenVINO™构建中的VPU?

    为什么无法从源代码推断OpenVINO™构建中的 VPU
    发表于 03-06 07:12

    伺服电动缸在人形机器人中的应用

    集成高精密减速器、高性能电机、丝杆机构、传感器以及伺服控制系统,伺服电动缸在保证更小体积的基础上实现了驱控一体化,从而满足了人形机器人复杂场景的应用需求。四、提升性能与可靠德迈传动伺服电动缸的应用还
    发表于 02-06 09:04

    使用 Thonny 对 XRP 机器人进行编程

    算法中用于创建机器人未知区域导航地图的三种主要技术。在这篇博客,我们将讨论一个适合初学者的实验机器人平台 (XRP),以及如何通过另一种方式 Thonny 来对其编程。 什么是 XRP(实验
    的头像 发表于 01-26 17:31 1027次阅读
    使用 Thonny 对 XRP <b class='flag-5'>机器</b>人进行<b class='flag-5'>编程</b>

    【「具身智能机器系统」阅读体验】2.具身智能机器人的基础模块

    ,一次生成深度信息。 自主机器人定位任务的本质是对机器人自身状态的估计问题,包括位置,朝向,速度问题。 路径规划旨在找到从起点到目标区域的路径,确保路径的可行和最优
    发表于 01-04 19:22

    《具身智能机器系统》第10-13章阅读心得之具身智能机器人计算挑战

    了完整的安全防护体系。 第12章将可靠性问题分为两大类:机器人本体的可靠和计算系统的可靠。本体可靠涉及温度、碰撞、断电、辐射
    发表于 01-04 01:15

    开源项目!能够精确地行走、跳舞和执行复杂动作的机器人—Tillu

    的语音识别系统响应语音指令 为什么打造Tillu? 打造Tillu不仅是一个项目,更是一次学习体验。通过深入探索机器人技术、编程细节以及自定义动作和表情,释放你的创造力。无论你是学生、爱好者还是创
    发表于 01-02 17:24

    【「具身智能机器系统」阅读体验】2.具身智能机器人大模型

    需要专业程序员进行繁琐的编程工作,这种方式不仅效率低下,还限制了机器人的应用场景。例如,在我们大学工程实训课程中使用的数控机床,需要人为设定起点、终点、移动方向和移动距离参数,自动化程度非常有限。而
    发表于 12-29 23:04

    【「具身智能机器系统」阅读体验】1.初步理解具身智能

    现状和前沿研究,详细介绍大模型的构建方法、训练数据、模型架构和优化技术。 第4部分(第10章到第13章)深入探讨提升机器人计算实时、算法安全系统可靠
    发表于 12-28 21:12

    【「具身智能机器系统」阅读体验】1.全书概览与第一章学习

    讲解如何构造具身智能基础模型的方法和步骤,包括数据采集、预处理、模型训练和评估。 在第四部分,介绍了具身智能机器人的计算挑战,包括计算加速、算法安全系统可靠
    发表于 12-27 14:50

    《具身智能机器系统》第7-9章阅读心得之具身智能机器人与大模型

    方法应该捕捉任务之间的结构相似性,便于知识迁移。 针对“9.3关键选择及利弊权衡”这一小节的内容,书中是用纯文字叙述,而我将其结构化整理成表格,方便直观对比两种方法。 比较维度 预训练+微调+ICL
    发表于 12-24 15:03

    【「具身智能机器系统」阅读体验】+初品的体验

    《具身智能机器系统》 一书由甘一鸣、俞波、万梓燊、刘少山老师共同编写,其封面如图1所示。 本书共由5部分组成,其结构和内容如图2所示。 该书可作为高校和科研机构的教材,为学生和研究人员提供系统
    发表于 12-20 19:17

    《具身智能机器系统》第1-6章阅读心得之具身智能机器系统背景知识与基础模块

    、谷歌的RT系列前沿产品中展露锋芒。这些突破成果标志着AI正从虚拟世界迈向物理世界的深度交互。 而研读《具身智能机器系统》前六章,我对具身智能(Embodied Artifici
    发表于 12-19 22:26