电竞比分网-中国电竞赛事及体育赛事平台

分享

陳根:機(jī)器修復(fù)代碼bug,碼農(nóng)福音

 陳根談科技 2020-08-04

/陳根

機(jī)器時(shí)代下計(jì)算機(jī)編程顯得尤為熱門(mén),但事實(shí)上,計(jì)算機(jī)編程一直都不是件容易的事。最初程序員是在圖紙上手寫(xiě)程序,然后再把符號(hào)轉(zhuǎn)換成計(jì)算機(jī)能夠處理的一大堆穿孔卡片。只要有一個(gè)標(biāo)記放錯(cuò)了地方,整個(gè)程序就得重寫(xiě),bug即便成了程序員的家常便飯,也依舊屢見(jiàn)屢崩潰。

如今,程序員可以使用一系列高效的工具來(lái)自動(dòng)化大部分工作,它們可以在鍵入時(shí)查找錯(cuò)誤,也可以在部署前測(cè)試代碼。但還是有許多方面幾乎沒(méi)有改變。一個(gè)愚蠢的錯(cuò)誤仍然會(huì)整個(gè)軟件崩潰,現(xiàn)在的系統(tǒng)越來(lái)越復(fù)雜,追蹤這些漏洞也越來(lái)越困難。隨著硬件和軟件系統(tǒng)越來(lái)越復(fù)雜,再加上開(kāi)發(fā)硬件和軟件系統(tǒng)所需的程序員的儲(chǔ)備,讓機(jī)器編碼的開(kāi)發(fā)成了多年來(lái)的研究熱點(diǎn)。

  

近日,來(lái)自英特爾、麻省理工學(xué)院和喬治亞理工學(xué)院的研究人員宣布了一種新的機(jī)器編程系統(tǒng),旨在檢測(cè)代碼的相似性。機(jī)器推斷代碼相似性(MISIM)系統(tǒng)是一個(gè)自動(dòng)引擎,能夠確定兩段代碼、算法的數(shù)據(jù)結(jié)構(gòu)何時(shí)執(zhí)行相同或相似的任務(wù)。

研究人員解釋說(shuō),MISIM不同于其他代碼相似性系統(tǒng),因?yàn)樗褂昧松舷挛母兄Z(yǔ)義結(jié)構(gòu)(CASS),它提供了更多關(guān)于代碼做什么的洞察,而不僅僅是它是如何做的。其他類(lèi)似的代碼系統(tǒng)嘗試確定相似的特性或相似的目標(biāo),而MISIM可以確定執(zhí)行類(lèi)似計(jì)算的代碼。這是邁向機(jī)器編程更宏偉愿景的重要一步。

此外,MISIM不需要編譯器將人類(lèi)可讀的源doe轉(zhuǎn)換為計(jì)算機(jī)可執(zhí)行的機(jī)器代碼。這將給現(xiàn)有的系統(tǒng)帶來(lái)很多好處,包括能夠在開(kāi)發(fā)人員當(dāng)前編寫(xiě)的不完整代碼片段上執(zhí)行——這對(duì)于推薦系統(tǒng)或自動(dòng)修復(fù)錯(cuò)誤來(lái)說(shuō)是一個(gè)重要的實(shí)用特性。

一旦代碼的結(jié)構(gòu)被集成到CASS中,神經(jīng)網(wǎng)絡(luò)系統(tǒng)就會(huì)根據(jù)代碼的設(shè)計(jì)任務(wù),對(duì)代碼進(jìn)行相似性評(píng)分。換句話說(shuō),如果兩段代碼在結(jié)構(gòu)上看起來(lái)非常不同,但執(zhí)行的功能相同,那么神經(jīng)網(wǎng)絡(luò)會(huì)將它們?cè)u(píng)為基本相似。研究人員還表示,MISIM能夠比先前的系統(tǒng)更準(zhǔn)確地識(shí)別出類(lèi)似的代碼片段。 

 研究人員表示,接下來(lái)計(jì)劃擴(kuò)展解決方案的功能集,開(kāi)發(fā)代碼推薦引擎,并與其他軟件團(tuán)隊(duì)合作,看看如何將MISIM集成到日常開(kāi)發(fā)中而這對(duì)于各大程序員或者程序員日漸光潔的額頭來(lái)說(shuō)或許都是一大福音。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多