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