技術(shù)
導(dǎo)讀:英特爾方面表示,MISIM 識(shí)別相似代碼段的精確度是此前最先進(jìn)系統(tǒng)的 40 倍
英特爾與麻省理工學(xué)院(MIT)以及喬治亞理工學(xué)院(Georgia Tech)共同推出了一種新的機(jī)器編程(machine programming,MP)系統(tǒng)。該系統(tǒng)稱(chēng)為機(jī)器推斷代碼相似性(machine inferred code similarity,MISIM),是一種自動(dòng)化引擎,旨在通過(guò)研究代碼的結(jié)構(gòu)、并分析具有類(lèi)似行為的其他代碼的句法差異,來(lái)了解某個(gè)軟件的意圖。
(來(lái)自:Intel|PDF)
然后,系統(tǒng)可以建立數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中為具有相似結(jié)果的軟件代碼提供相似性評(píng)分。基于這些預(yù)先存在的代碼目錄,MISIM 可以了解新算法的意圖,并通過(guò)提供一些其他編程方法建議或選項(xiàng)等來(lái)提高代碼效率,從而幫助工程師開(kāi)發(fā)軟件。
MISIM 可以準(zhǔn)確判斷兩段代碼是否執(zhí)行相似的計(jì)算過(guò)程,即使這些代碼使用不同的數(shù)據(jù)結(jié)構(gòu)和算法。目前,英特爾計(jì)劃在內(nèi)部使用該工具,以協(xié)助開(kāi)發(fā)人員完成諸如調(diào)試之類(lèi)的日常任務(wù)。
英特爾機(jī)器編程研究院創(chuàng)始人、首席科學(xué)家及總監(jiān) Justin Gottschlich 稱(chēng),“英特爾機(jī)器編程的最終目標(biāo)是使軟件的創(chuàng)建民主化。完全實(shí)現(xiàn)后,MP 將使每個(gè)人都能以最適合自己的方式表達(dá)自己的意圖(無(wú)論是代碼、自然語(yǔ)言還是其他方式)來(lái)創(chuàng)建軟件。 這是一個(gè)大膽的目標(biāo),盡管還有很多工作要做,但 MISIM 是邁向這一目標(biāo)的堅(jiān)實(shí)一步。”
據(jù)介紹, MISIM 與現(xiàn)有代碼相似度系統(tǒng)關(guān)鍵的不同點(diǎn)在于,其使用一種稱(chēng)為上下文感知語(yǔ)義結(jié)構(gòu)(context-aware semantic structure,CASS)的新技術(shù)。該技術(shù)可使 MISIM 在更高層次上解釋代碼-不僅是程序的結(jié)構(gòu),而且還包括其意圖;且 MISIM 無(wú)需使用編譯器即可完成所有這些工作。此外,MISIM 能夠在開(kāi)發(fā)人員尚在編寫(xiě)的不完整代碼段上執(zhí)行,對(duì)于推薦系統(tǒng)和自動(dòng) bug 修復(fù)等應(yīng)用情景來(lái)說(shuō),具有重要實(shí)際意義。
一旦將代碼的結(jié)構(gòu)集成到 CASS 中,神經(jīng)網(wǎng)絡(luò)系統(tǒng)就會(huì)根據(jù)其設(shè)計(jì)要執(zhí)行的工作,為代碼片段提供相似性評(píng)分。換句話說(shuō),如果兩段代碼在結(jié)構(gòu)上看起來(lái)有很大不同,但執(zhí)行相同的功能,那么神經(jīng)網(wǎng)絡(luò)就會(huì)將它們?cè)u(píng)為高度相似。
英特爾方面表示,MISIM 識(shí)別相似代碼段的精確度是此前最先進(jìn)系統(tǒng)的 40 倍。接下來(lái),其計(jì)劃擴(kuò)展解決方案的功能集、開(kāi)發(fā)代碼推薦引擎,并與其他軟件團(tuán)隊(duì)合作,尋求將 MISIM 集成到日常開(kāi)發(fā)中的方法。
而針對(duì)“這一技術(shù)是否會(huì)取代現(xiàn)有的開(kāi)發(fā)人員角色?”這一提問(wèn),Gottschlich 則回應(yīng) ZDNet 稱(chēng),“不會(huì)這么快”。機(jī)器編程將始終需要一些代碼形式的數(shù)據(jù),而專(zhuān)業(yè)人員則需要管理更專(zhuān)業(yè)的編程方面。但是不同之處在于,將有數(shù)百萬(wàn)的人嘗試開(kāi)發(fā)軟件。甚至與擔(dān)憂相反,這一技術(shù)將會(huì)帶來(lái)更多工作機(jī)會(huì)。“當(dāng)機(jī)器編程完全實(shí)現(xiàn)時(shí),我們相信它不會(huì)削減工作崗位,而是可能會(huì)創(chuàng)造數(shù)百萬(wàn)個(gè)工作崗位?!?/p>
正如 ZDNet 所說(shuō),MISIM 背后的團(tuán)隊(duì)所設(shè)想的自動(dòng)化軟件開(kāi)發(fā)之路還道阻且長(zhǎng)。不過(guò)和許多其他創(chuàng)新一樣,現(xiàn)在考慮這項(xiàng)技術(shù)可能產(chǎn)生的影響,無(wú)論好壞,都還為時(shí)過(guò)早。目前,英特爾和麻省理工學(xué)院的實(shí)驗(yàn)室在解決機(jī)器編程帶來(lái)的技術(shù)挑戰(zhàn)的同時(shí),也在研究相關(guān)的哲學(xué)和倫理問(wèn)題。各方已經(jīng)在進(jìn)行會(huì)談,以減輕對(duì)該技術(shù)的負(fù)面使用。