AI 系統向自動化編碼邁進
導讀:來自 Intel、MIT 和喬治亞理工學院的研究人員正在研究一個 AI 引擎,它可以分析代碼的相似性,以確定代碼的實際作用,為自動化軟體編寫奠定了基礎。
本文字數:1496,閱讀時長大約:2分鐘
https://linux.cn/article-12569-1.html
作者:Patrick Nelson
譯者:geekpi
隨著人工智慧(AI)的快速發展,我們是否會進入計算機智能到足以編寫自己的代碼並和人類一起完成工作?新的研究表明,我們可能正在接近這個裡程碑。
來自 MIT 和喬治亞理工學院的研究人員與 Intel 合作開發了一個人工智慧引擎,被稱為機器推斷代碼相似性(MISIM),它旨在分析軟體代碼並確定它與其他代碼的相似性。最有趣的是,該系統有學習代碼的潛力,然後利用這種智能來改變軟體的編寫方式。最終,人們可以解釋希望程序做什麼,然後機器編程(MP)系統可以拿出一個已經編寫完的應用。
Intel 首席科學家兼機器編程研究總監/創始人 Justin Gottschlich 在該公司的新聞稿中說:「當完全實現時,MP 能讓每個人都能以任何最適合自己的方式 —— 無論是代碼、自然語言還是其他東西 —— 來表達自己的意圖以創建軟體。這是一個大膽的目標,雖然還有很多工作要做,但 MISIM 是朝著這個目標邁出的堅實一步。」
它是如何工作的
Intel 解釋說,神經網路「根據它們被設計執行的作業」給代碼片段打出相似度分數。例如,兩個代碼樣本可能看起來完全不同,但由於它們執行相同的功能,因此被評為相同。然後,該演算法可以確定哪個代碼片段更有效率。
例如,代碼相似性系統的原始版本被用於抄襲檢測。然而,有了 MISIM,該演算法會查看代碼塊,並試圖根據上下文確定這些代碼段是否具有相似的特徵,或者是否有相似的目標。然後,它可以提供性能方面的改進,例如說,總體效率的改進。
MISIM 的關鍵是創造者的意圖,它標誌著向基於意圖的編程的進步,它可以使軟體的設計基於非程序員創造者想要實現的目標。通過基於意圖的編程,演算法會藉助於一個開源代碼池,而不是依靠傳統的、手工的方法,編譯一系列類似於步驟的編程指令,逐行告訴計算機如何做某件事。
Intel 解釋說:「MISIM 與現有代碼相似性系統的核心區別在於其新穎的上下文感知語義結構 (CASS),其目的是將代碼的實際作用提煉出來。與其他現有的方法不同,CASS 可以根據特定的上下文進行配置,使其能夠捕捉到更高層次的代碼描述信息。CASS 可以更具體地洞察代碼的作用,而不是它是如何做的。」
這是在沒有編譯器(編程中的一個階段,將人類可讀代碼轉換為計算機程序)的情況下完成的。方便的是,可以執行部分片段,只是為了看看那段代碼中會發生什麼。另外,該系統擺脫了軟體開發中一些比較繁瑣的部分,比如逐行查找錯誤。更多細節可以在該小組的論文(PDF)中找到。
Intel 表示,該團隊的 MISIM 系統比之前的代碼相似性系統識別相似代碼的準確率高 40 倍。
一個 Redditor,Heres_your_sign對 MISIM 報道的評論中有趣地指出,幸好計算機不寫需求。這位 Redditor 認為,那是自找麻煩。
via:https://www.networkworld.com/article/3570389/ai-system-analyzes-code-similarities-makes-progress-toward-automated-coding.html
作者:Patrick Nelson選題:lujun9972譯者:geekpi校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出