0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MIT等推新型機(jī)器編程系統(tǒng):機(jī)器推斷代碼相似性(MISIM)

如意 ? 來(lái)源:新智元 ? 作者:佚名 ? 2020-09-04 14:01 ? 次閱讀

計(jì)算機(jī)編程從未如此簡(jiǎn)單。

最初,程序員用手編寫(xiě)程序,將符號(hào)寫(xiě)到方格紙上,然后將它們穿孔打卡,計(jì)算機(jī)才可以對(duì)其進(jìn)行處理。如果有一個(gè)標(biāo)記不準(zhǔn)確,整個(gè)過(guò)程可能需要重做。

如今,程序員使用了一系列功能強(qiáng)大的工具,可自動(dòng)完成大部分工作。但是如果出現(xiàn)一個(gè)愚蠢的 bug 仍然可能使整個(gè)軟件崩潰,隨著系統(tǒng)變得越來(lái)越復(fù)雜,跟蹤這些 bug 變得越來(lái)越困難。

最近,英特爾科學(xué)家與麻省理工學(xué)院(MIT),以及佐治亞理工學(xué)院(Georgia Tech)的研究人員共同推出了一種新的機(jī)器編程(MP)系統(tǒng)——機(jī)器推斷代碼相似性(MISIM)。該系統(tǒng)是一種自動(dòng)引擎,旨在通過(guò)研究代碼的結(jié)構(gòu),并分析具有類(lèi)似行為的其他代碼的句法差異來(lái)學(xué)習(xí)某個(gè)軟件計(jì)劃執(zhí)行的操作。

MISIM系統(tǒng)的性能要比當(dāng)前最先進(jìn)的系統(tǒng)高出40倍,可以看出從代碼推薦到自動(dòng)錯(cuò)誤修復(fù)的應(yīng)用前景。

MISIM:提高開(kāi)發(fā)效率,性能是最先進(jìn)相似性系統(tǒng)的40倍

隨著異構(gòu)計(jì)算的興起,硬件和軟件系統(tǒng)變得越來(lái)越復(fù)雜。這種復(fù)雜性,再加上缺乏能夠在多種體系結(jié)構(gòu)中以專(zhuān)家水平進(jìn)行編程的程序員,使得人們對(duì)新開(kāi)發(fā)方法的需求日益凸顯。

多年來(lái),自動(dòng)代碼生成一直是研究的熱點(diǎn)。微軟正在將基本的代碼生成構(gòu)建到其廣泛使用的軟件開(kāi)發(fā)工具中。

Facebook 開(kāi)發(fā)了一個(gè)名為 Aroma 的系統(tǒng),該系統(tǒng)可以自動(dòng)完成小程序,而 DeepMind 開(kāi)發(fā)的神經(jīng)網(wǎng)絡(luò)可以提供比人類(lèi)設(shè)計(jì)的更有效的簡(jiǎn)單算法版本。甚至 OpenAI 的 GPT-3 語(yǔ)言模型也可以從自然語(yǔ)言提示中生成簡(jiǎn)單的代碼段。

機(jī)器編程是英特爾實(shí)驗(yàn)室和麻省理工學(xué)院在「The Three Pillars of Machine Programming」論文中提出的一個(gè)術(shù)語(yǔ) ,旨在通過(guò)使用自動(dòng)化工具來(lái)提高開(kāi)發(fā)效率。

這些新興機(jī)器編程工具中的一項(xiàng)關(guān)鍵技術(shù)是代碼相似性,它能準(zhǔn)確有效地自動(dòng)化某些軟件開(kāi)發(fā)過(guò)程來(lái)滿(mǎn)足這一需求。

然而,建立精確的代碼相似性系統(tǒng)是一個(gè)尚未解決的問(wèn)題。這些系統(tǒng)試圖確定兩個(gè)代碼片段是否顯示出相似的特征或旨在達(dá)到相似的目標(biāo)。當(dāng)僅學(xué)習(xí)源代碼時(shí),這是一項(xiàng)艱巨的任務(wù)。

因此, 研究人員提出了機(jī)器推斷代碼相似性(MISIM),這是一種全新的端到端代碼相似性系統(tǒng)。MISIM 可以準(zhǔn)確推斷兩段代碼何時(shí)執(zhí)行相似的計(jì)算,即使這兩段代碼使用不同的數(shù)據(jù)結(jié)構(gòu)和算法。

英特爾實(shí)驗(yàn)室首席科學(xué)家兼機(jī)器編程研究總監(jiān) Justin Gottschlich 表示,「這是邁向更宏偉的機(jī)器編程愿景的重要一步?!?/p>

MISIM 與現(xiàn)有代碼相似性系統(tǒng)之間的核心區(qū)別在于其新穎的上下文感知語(yǔ)義結(jié)構(gòu)(CASS),其目的是了解代碼的實(shí)際作用,可以幫助從代碼語(yǔ)法中提升語(yǔ)義含義。

與其他現(xiàn)有方法不同,它可以將 CASS 配置為特定的上下文,從而使其可以捕獲更高級(jí)別描述代碼的信息。CASS 可以提供有關(guān)代碼功能而非方法的更具體的見(jiàn)解。

此外,MISIM 無(wú)需使用編譯器即可對(duì)代碼進(jìn)行評(píng)級(jí),編譯器將人類(lèi)可讀的源代碼轉(zhuǎn)換為計(jì)算機(jī)可執(zhí)行的機(jī)器代碼。

與現(xiàn)有系統(tǒng)相比,MISIM 還具有許多優(yōu)勢(shì),包括能夠在開(kāi)發(fā)人員當(dāng)前正在編寫(xiě)的不完整代碼段上執(zhí)行的能力,這是推薦系統(tǒng)或自動(dòng)錯(cuò)誤修復(fù)的重要實(shí)用特征。

MIT等推新型機(jī)器編程系統(tǒng):機(jī)器推斷代碼相似性(MISIM)

MISIM系統(tǒng)總攬

MISIM 提供了基于神經(jīng)的代碼相似性評(píng)分算法,該算法可通過(guò)具有學(xué)習(xí)參數(shù)的各種神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)來(lái)實(shí)現(xiàn)。

一旦將代碼的結(jié)構(gòu)集成到 CASS 中,神經(jīng)網(wǎng)絡(luò)系統(tǒng)就會(huì)根據(jù)其設(shè)計(jì)要執(zhí)行的工作,為代碼片段提供相似性評(píng)分。

換句話(huà)說(shuō),如果兩段代碼在結(jié)構(gòu)上看起來(lái)有很大不同,但執(zhí)行相同的功能,則神經(jīng)網(wǎng)絡(luò)會(huì)將它們?cè)u(píng)為大致相似。

研究人員最后將 MISIM 與三個(gè)最新檢測(cè)代碼相似性系統(tǒng)進(jìn)行了比較:

(i)code2vec

(ii)Neural Code Comprehension

(iii) Aroma

MIT等推新型機(jī)器編程系統(tǒng):機(jī)器推斷代碼相似性(MISIM)

通過(guò)將這些原理整合到一個(gè)統(tǒng)一的系統(tǒng)中,研究人員發(fā)現(xiàn)MISIM能夠比當(dāng)前的最新系統(tǒng)更準(zhǔn)確地識(shí)別相似的代碼,最多可識(shí)別40倍。

從研究到演示:代碼推薦,大幅削減開(kāi)發(fā)成本

盡管英特爾仍在擴(kuò)展 MISIM 的功能集,但公司已將其從研究工作轉(zhuǎn)移到了演示工作,目的是創(chuàng)建一個(gè)代碼推薦引擎,以協(xié)助所有軟件開(kāi)發(fā)人員能夠跨英特爾各種異構(gòu)體系結(jié)構(gòu)進(jìn)行編程。

這種類(lèi)型的系統(tǒng)將能夠識(shí)別開(kāi)發(fā)人員輸入的簡(jiǎn)單算法背后的意圖,并提供語(yǔ)義上相似但性能有所提高的候選代碼。

Gottschlich 表示,「我想,如果有可能,大多數(shù)開(kāi)發(fā)人員會(huì)很樂(lè)意讓機(jī)器為他們查找并修復(fù)錯(cuò)誤」。

這可以為雇主省去一些麻煩,更不用說(shuō)幫助開(kāi)發(fā)人員自己了。

根據(jù)劍橋大學(xué) Judge 商學(xué)院發(fā)表的一項(xiàng)研究,程序員將50.1%的工作時(shí)間用于編程,而將一半的時(shí)間用于調(diào)試。估計(jì)每年的調(diào)試總費(fèi)用為3120億美元??梢钥闯?,這需要消耗大量精力和財(cái)力。

英特爾機(jī)器編程實(shí)驗(yàn)室還與英特爾的軟件部門(mén)合作,以了解如何將 MISIM 集成到他們的日常開(kāi)發(fā)中。像 MISIM 這樣的以AI為動(dòng)力的代碼推薦和審查工具有望大幅削減開(kāi)發(fā)成本,同時(shí)使編碼人員能夠?qū)W⒂诟邉?chuàng)造性、更少重復(fù)性的任務(wù)。

Gottschlich 在一次采訪(fǎng)時(shí)表示,「如果我們?cè)跈C(jī)器編程方面取得成功,最終目標(biāo)之一就是使所有人能夠創(chuàng)建軟件?!?br /> 責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93276
  • MIT
    MIT
    +關(guān)注

    關(guān)注

    3

    文章

    253

    瀏覽量

    23312
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131848
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    工業(yè)機(jī)器人常用的編程方式

    機(jī)器人完成特定的任務(wù)。編程可以手動(dòng)完成,也可以通過(guò)計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件自動(dòng)生成。編程方式的選擇取決于任務(wù)的復(fù)雜機(jī)器人的類(lèi)型、以及
    的頭像 發(fā)表于 09-04 09:26 ?185次閱讀

    工業(yè)機(jī)器人的四種編程(示教編程、離線(xiàn)編程、自增強(qiáng)現(xiàn)實(shí)編程編程)剖析!

    當(dāng)前機(jī)器人廣泛應(yīng)用于焊接、裝配、搬運(yùn)、噴漆及打磨領(lǐng)域,任務(wù)的復(fù)雜程度不斷增加,而用戶(hù)對(duì)產(chǎn)品的質(zhì)量、效率的追求越來(lái)越高。在這種形式下,機(jī)器人的編程方式、
    的頭像 發(fā)表于 08-30 12:14 ?269次閱讀
    工業(yè)<b class='flag-5'>機(jī)器</b>人的四種<b class='flag-5'>編程</b>(示教<b class='flag-5'>編程</b>、離線(xiàn)<b class='flag-5'>編程</b>、自增強(qiáng)現(xiàn)實(shí)<b class='flag-5'>編程</b>主<b class='flag-5'>編程</b>)剖析!

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 簡(jiǎn)單建議

    這本書(shū)以其系統(tǒng)性的框架和深入淺出的講解,為讀者繪制了一幅時(shí)間序列分析與機(jī)器學(xué)習(xí)融合應(yīng)用的宏偉藍(lán)圖。作者不僅扎實(shí)地構(gòu)建了時(shí)間序列分析的基礎(chǔ)知識(shí),更巧妙地展示了機(jī)器學(xué)習(xí)如何在這一領(lǐng)域發(fā)揮巨大潛力,使得
    發(fā)表于 08-12 11:21

    【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】全書(shū)概覽與時(shí)間序列概述

    。 ●第5章“時(shí)間序列的相似度與聚類(lèi)”:介紹時(shí)間序列的相似性度量方法,如歐氏距離、動(dòng)態(tài)時(shí)間規(guī)整算法,用于衡量?jī)蓚€(gè)或多個(gè)時(shí)間序列在形狀和模式上的相似程度;聚類(lèi)算法,如K-Means、D
    發(fā)表于 08-07 23:03

    ROS讓機(jī)器人開(kāi)發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    的快速發(fā)展,智能機(jī)器人設(shè)備已成為工業(yè)自動(dòng)化體系的佼佼者,而智能機(jī)器人設(shè)備核心—ROS系統(tǒng),是機(jī)器人領(lǐng)域的集大成者,主要應(yīng)用于機(jī)器人控制領(lǐng)域,
    發(fā)表于 07-09 11:38

    Al大模型機(jī)器

    豐富的知識(shí)儲(chǔ)備。它們可以涵蓋各種領(lǐng)域的知識(shí),并能夠回答相關(guān)問(wèn)題。靈活性與通用: AI大模型機(jī)器人具有很強(qiáng)的靈活性和通用,能夠處理各種類(lèi)型的任務(wù)和問(wèn)題。持續(xù)學(xué)習(xí)和改進(jìn): 這些模型可以通過(guò)持續(xù)的訓(xùn)練
    發(fā)表于 07-05 08:52

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.35】如何用「時(shí)間序列與機(jī)器學(xué)習(xí)」解鎖未來(lái)?

    算法,以及時(shí)間序列數(shù)據(jù)的相似性度量和聚類(lèi)算法。 書(shū)中不僅討論了單維和多維時(shí)間序列的處理技術(shù),還特別強(qiáng)調(diào)了時(shí)間序列在智能運(yùn)維(AIOps)和金融領(lǐng)域的實(shí)際應(yīng)用。 第1章“時(shí)間序列概述”: 介紹時(shí)間序列分析
    發(fā)表于 06-25 15:00

    如何使用PLC控制機(jī)器

    高可靠、強(qiáng)適應(yīng)和易編程特點(diǎn),成為機(jī)器人控制領(lǐng)域的重要工具。本文將詳細(xì)介紹如何使用PLC控
    的頭像 發(fā)表于 06-17 10:50 ?863次閱讀

    abb工業(yè)機(jī)器人的編程語(yǔ)言是什么

    ABB工業(yè)機(jī)器人的編程語(yǔ)言主要是RAPID(Robot Application Programming Interface for Development),它是一種高級(jí)編程語(yǔ)言,專(zhuān)門(mén)為工業(yè)機(jī)
    的頭像 發(fā)表于 06-16 16:49 ?1679次閱讀

    基于結(jié)構(gòu)相似性可靠監(jiān)測(cè)結(jié)果

    電子發(fā)燒友網(wǎng)站提供《基于結(jié)構(gòu)相似性可靠監(jiān)測(cè)結(jié)果.pdf》資料免費(fèi)下載
    發(fā)表于 02-05 09:10 ?0次下載
    基于結(jié)構(gòu)<b class='flag-5'>相似性</b>可靠<b class='flag-5'>性</b>監(jiān)測(cè)結(jié)果

    編程IC的類(lèi)型、主要功能、相似性和差異性

    電子發(fā)燒友網(wǎng)站提供《可編程IC的類(lèi)型、主要功能、相似性和差異性.pdf》資料免費(fèi)下載
    發(fā)表于 01-03 14:08 ?0次下載
    可<b class='flag-5'>編程</b>IC的類(lèi)型、主要功能、<b class='flag-5'>相似性</b>和差異性

    LabVIEW的六軸工業(yè)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)

    。 系統(tǒng)研究與算法開(kāi)發(fā):首先,項(xiàng)目圍繞機(jī)器人的數(shù)學(xué)模型,特別是空間位姿描述和D-H模型展開(kāi)研究。在此基礎(chǔ)上,開(kāi)發(fā)了機(jī)器人的運(yùn)動(dòng)學(xué)正反解算法,使用了雅克比-迭代法先進(jìn)技術(shù)。此外,還涉及
    發(fā)表于 12-21 20:03

    高動(dòng)態(tài)人形機(jī)器人“夸父”通過(guò)OpenHarmony 3.2 Release版本兼容測(cè)評(píng)

    近日, 搭載KaihongOS的“夸父”人形機(jī)器人通過(guò)OpenAtom OpenHarmony(以下簡(jiǎn)稱(chēng)“OpenHarmony”)3.2 Release版本兼容測(cè)評(píng)并獲頒兼容證書(shū) 。這體現(xiàn)了
    發(fā)表于 12-20 09:31

    ROS讓機(jī)器人開(kāi)發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    、攝像頭、GPS部件的控制、通信的實(shí)時(shí)與安全得不到保障,導(dǎo)致的后果將是核心數(shù)據(jù)泄露、路線(xiàn)控制偏離、系統(tǒng)通信異常嚴(yán)重后果。而ROS
    發(fā)表于 11-30 16:01

    機(jī)器編程需要什么軟件?

    機(jī)器編程需要什么軟件
    發(fā)表于 11-01 07:34