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