訂閱
糾錯
加入自媒體

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

2020-07-31 17:39
來源: 粵訊

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

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

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

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

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

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

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

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

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

聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負(fù)責(zé),如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問題的,請聯(lián)系我們。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號