英特爾全新機(jī)器編程有望實(shí)現(xiàn)代碼推薦、bug自動(dòng)修復(fù)

近日,英特爾發(fā)布與麻省理工學(xué)院、佐治亞理工學(xué)院共同研發(fā)的全新機(jī)器編程系統(tǒng)。該系統(tǒng)稱(chēng)為機(jī)器推理代碼相似度系統(tǒng)(MISIM),是一款檢測(cè)軟件意圖的自動(dòng)化引擎,通過(guò)識(shí)別代碼結(jié)構(gòu)、分析與其它功能相似代碼的句法差異實(shí)現(xiàn)。

英特爾機(jī)器編程研究院創(chuàng)始人、首席科學(xué)家及總監(jiān)Justin Gottschlich 表示:“英特爾機(jī)器編程的最終目標(biāo)是讓每個(gè)人都能創(chuàng)建軟件。當(dāng)這一目標(biāo)完全實(shí)現(xiàn)時(shí),每個(gè)人都可以通過(guò)自己最擅長(zhǎng)的方式,如代碼、自然語(yǔ)言或其他方式向機(jī)器表達(dá)自己的設(shè)計(jì)意圖,從而創(chuàng)建軟件。這是一個(gè)大膽的目標(biāo),需要付出許多努力,MISIM是我們邁出的堅(jiān)實(shí)一步。”

隨著異構(gòu)計(jì)算崛起,硬件、軟件系統(tǒng)變得越來(lái)越復(fù)雜,以及跨架構(gòu)專(zhuān)業(yè)編程人員的稀缺,導(dǎo)致業(yè)界對(duì)新開(kāi)發(fā)方法的需求愈加凸顯?!皺C(jī)器編程”一詞在英特爾研究院和麻省理工學(xué)院聯(lián)合發(fā)布的《機(jī)器編程的三大支柱》論文中首次提出,旨在通過(guò)自動(dòng)化工具提升開(kāi)發(fā)效率。在多種新興機(jī)器編程工具中,代碼相似度是一項(xiàng)關(guān)鍵技術(shù),它具備精準(zhǔn)、高效實(shí)現(xiàn)軟件開(kāi)發(fā)流程自動(dòng)化的潛力,從而滿(mǎn)足跨架構(gòu)編程需求。

然而,建立精準(zhǔn)的代碼相似度系統(tǒng)本身是一個(gè)較為棘手的問(wèn)題。這些系統(tǒng)需要識(shí)別兩個(gè)代碼段是否具有相似特征、是否需要實(shí)現(xiàn)相似目標(biāo)。在只提供源代碼的情況下,這是非常難以實(shí)現(xiàn)的。但英特爾與麻省理工學(xué)院及佐治亞理工學(xué)院聯(lián)合開(kāi)發(fā)的MISIM可以精準(zhǔn)識(shí)別兩段代碼是否運(yùn)行相似的計(jì)算過(guò)程,即使這兩段代碼使用不同的數(shù)據(jù)結(jié)構(gòu)和算法。正如Gottschlich所闡述的,“這是實(shí)現(xiàn)機(jī)器編程偉大愿景的重要一步。”

MISIM與現(xiàn)有代碼相似度系統(tǒng)最關(guān)鍵的不同點(diǎn)在于,它擁有創(chuàng)新的上下文感知語(yǔ)義結(jié)構(gòu)(CASS),可以提取出代碼真正的用途。與其它現(xiàn)有方法不同的是,CASS可以配置到特定上下文環(huán)境,在更高層次抓取描述代碼的信息。因此,CASS可以提供更精準(zhǔn)的洞察如“代碼能實(shí)現(xiàn)什么”,而不是“如何實(shí)現(xiàn)”的問(wèn)題。此外,MISIM無(wú)需使用編譯器(將人類(lèi)可讀源代碼轉(zhuǎn)換為計(jì)算機(jī)可執(zhí)行機(jī)器代碼的程序)即可完成所有這些工作。所以與現(xiàn)有系統(tǒng)相比,MISIM就有了更多優(yōu)勢(shì),包括能夠在開(kāi)發(fā)人員尚在編寫(xiě)的不完整代碼段上執(zhí)行,對(duì)于推薦系統(tǒng)和自動(dòng)bug修復(fù)等應(yīng)用情景來(lái)說(shuō),具有重要實(shí)際意義。

一旦代碼結(jié)構(gòu)整合到CASS以后,根據(jù)設(shè)計(jì)目標(biāo),多個(gè)神經(jīng)網(wǎng)絡(luò)系統(tǒng)會(huì)對(duì)代碼段給出相似度評(píng)分。換言之,如果兩段代碼結(jié)構(gòu)看起來(lái)很不一樣,但執(zhí)行的都是同一個(gè)功能,這些神經(jīng)網(wǎng)絡(luò)系統(tǒng)將給出“高度相似”的評(píng)分。

通過(guò)將這些原則整合到統(tǒng)一系統(tǒng)中,英特爾、麻省理工學(xué)院和佐治亞理工學(xué)院的研究員發(fā)現(xiàn),MISIM識(shí)別相似代碼段的精確度是此前最先進(jìn)系統(tǒng)的40倍。

英特爾將繼續(xù)拓展MISIM的功能,目前已經(jīng)從研究階段進(jìn)入演示階段,目標(biāo)是打造一款代碼推薦引擎,協(xié)助軟件開(kāi)發(fā)人員在英特爾多種異構(gòu)架構(gòu)上進(jìn)行編程開(kāi)發(fā)。此類(lèi)系統(tǒng)可以識(shí)別開(kāi)發(fā)人員簡(jiǎn)單算法輸入背后的意圖,并推薦語(yǔ)義相近但性能更好的候選代碼。

英特爾機(jī)器編程研究院同時(shí)也與英特爾軟件部門(mén)進(jìn)行合作,研究如何將MISIM整合到日常開(kāi)發(fā)工作當(dāng)中。Gottschlich同時(shí)也兼任賓夕法尼亞大學(xué)兼職助理教授,他希望幫助軟件部門(mén)以及整個(gè)英特爾公司提升生產(chǎn)效率,并消除編程中修復(fù)bug等單調(diào)的工作。Gottschlich表示:“如果機(jī)器能做到自動(dòng)檢查和修復(fù)bug,我想大多數(shù)開(kāi)發(fā)人員一定非常愿意讓它來(lái)承擔(dān)這項(xiàng)工作,至少我會(huì)?!?/p>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )

贊助商
2020-07-31
英特爾全新機(jī)器編程有望實(shí)現(xiàn)代碼推薦、bug自動(dòng)修復(fù)
近日,英特爾發(fā)布與麻省理工學(xué)院、佐治亞理工學(xué)院共同研發(fā)的全新機(jī)器編程系統(tǒng)。

長(zhǎng)按掃碼 閱讀全文