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

    文章

    3723

    浏览量

    97439
  • MIT
    MIT
    +关注

    关注

    3

    文章

    254

    浏览量

    25038
  • 机器学习
    +关注

    关注

    67

    文章

    8565

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么说关节扭矩传感器是高端机器人的“触觉神经”?

    机器人在每毫秒都能“感知”到自己被、拉或碰到东西。 正是这种连续、精准的力觉反馈,让机器人实现了三大关键能力: 1. 柔顺控制:像人手一样“顺着来” 传统机器人遇到意外阻力会硬顶,容
    发表于 04-17 17:27

    Neway电机方案在机器人技术方面的优势

    采购率超85%,交货周期缩短至2周,紧急订单可72小时交付,确保工业机器人厂商的生产连续。二、高功率密度与小型化设计,节省布局空间背景:工业机器人关节驱动器、六轴机器
    发表于 03-30 09:39

    机器人环境适应试验怎么做?需要用到哪些设备和标准?

    机器人环境适应试验是指在模拟或真实极端/复杂环境条件下,对机器系统的结构可靠、感知能力、运动性能、能源效率及任务执行稳定性进行
    的头像 发表于 03-03 15:10 306次阅读
    <b class='flag-5'>机器</b>人环境适应<b class='flag-5'>性</b>试验怎么做?需要用到哪些设备和标准?

    探索RISC-V在机器人领域的潜力

    应用,特别是机器人操作系统领域的可行。MUSE Pi Pro以其强大的K1 AI CPU和官方对主流开源软件栈的积极适配,成为了一个非常有吸引力的选择。 二、 硬件初窥:性能小钢炮 MUSE Pi Pro
    发表于 12-03 14:40

    巡检机器人落地攻略:RK3576驱动12路低延迟视觉

    ,边走边看、实时回传、异常即告警。周三,机器人上电跑通:前后左右与顶部共 10~12路1080P 摄像头接入,基于米尔 RK3576开发板 完成 硬件编解码 + RTSP/SRT 低延迟流;端到端延迟
    发表于 10-24 16:53

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

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

    机器人芯片:智能机器的“大脑”与未来趋势

    、低功耗和强适应的方向演进,推动机器人应用迈向更广阔的领域。   机器人芯片的关键作用    机器人芯片主要包括中央处理器(CPU)、图形处理器(GPU)、神经网络处理器(NPU)和
    的头像 发表于 07-31 13:43 1360次阅读

    工业机器人的特点

    的基础,也是三者的实现终端,智能制造装备产业包括高档数控机床、工业机器人、自动化成套生产线、精密仪器仪表、智能传感器、汽车自动化焊接线、柔性自动化生产线、智能农机、3D 打印机领域。而智能制造装备中工业
    发表于 07-26 11:22

    STM32+Android实现的智能家政机器人电路代码论文及项目源码

    STM32+Android实现的智能家政机器人电路代码论文及项目部分截图:
    发表于 05-28 21:22

    明远智睿SSD2351开发板:语音机器人领域的变革力量

    接口则让语音机器人可以连接到互联网,实时获取最新的信息,增强其智能和交互能力。 在实际应用场景中,以智能客服语音机器人为例。SSD2351开发板可以驱动语音识别模块,准确识别用户的问题,并在本地或
    发表于 05-28 11:36

    盘点#机器人开发平台

    图,电子技术资料网站具身智能机器人****开发平台——Fibot广和通发布机器人开发平台-电子发烧友网NVIDIA Isaac 英伟达综合机器人开发平台NVIDIA Isaac 是英
    发表于 05-13 15:02

    详细介绍机场智能指路机器人的工作原理

    路径。路径规划算法会考虑多种因素,如距离最短、避开人流密集区域、优先选择宽阔通道,以确保旅客能够快速、顺畅地到达目的地。 实时导航与避障 :在机器人引导旅客的过程中,导航系统会实时监控机器
    发表于 05-10 18:26

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    的有效途径。 结语 本书第7章和第8章内容系统性强,从基础理论到代码实践,为读者提供了机器人视觉与SLAM的完整知识框架。未来,我计划结合书中案例,进一步探索多传感器融合、自主导航等高级应用,争取在
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    ROS的全称:Robot Operating System 机器人操作系统 ROS的 目的 :ROS支持通用库,是通信总线,协调多个传感器 为了解决机器人里各厂商模块不通用的问题,让机器
    发表于 04-30 01:05

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

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