
微軟研究院首席研究員 Miltos Alamanis 與高級(jí)首席研究主管 Marc Brockschmidt,剛剛在一篇博客文章中介紹了他們新開(kāi)發(fā)的 BugLabs 人工智能。顧名思義。這是一套專門用于發(fā)現(xiàn)代碼中的錯(cuò)誤,幫助開(kāi)發(fā)者更精準(zhǔn)、高效地調(diào)試其應(yīng)用程序的 AI 解決方案。而且它的開(kāi)發(fā)過(guò)程,與創(chuàng)建生成對(duì)抗網(wǎng)絡(luò)(GAN)的形式大致相同。
在《借助深度學(xué)習(xí)查找并修復(fù)錯(cuò)誤》一文中, 微軟 研究員介紹了他們?cè)O(shè)置的兩個(gè)相互對(duì)抗的網(wǎng)絡(luò)。其中一個(gè)旨在將小錯(cuò)誤引入代碼,另一個(gè)則旨在發(fā)現(xiàn)這些 bug 。

隨著深度學(xué)習(xí)訓(xùn)練的持續(xù)推進(jìn),AI 的能力也變得愈加完善,最終成為了我們看到的這個(gè)特別擅長(zhǎng)識(shí)別“隱藏在真是代碼中的 bug”的人工智能。
這種方法的優(yōu)點(diǎn),在于全程無(wú)需自我監(jiān)督或標(biāo)記數(shù)據(jù)。Miltos Allamanis 與 Marc Brockschmidt 在報(bào)告中提到:
理論上,我們可以將之廣泛地應(yīng)用于‘捉迷藏’游戲 —— 教授機(jī)器去識(shí)別任務(wù)復(fù)雜的錯(cuò)誤。遺憾的是,這些 bug 通常超出了現(xiàn)代人工智能方法的運(yùn)用范圍。
有鑒于此,研究團(tuán)隊(duì)決定更加專注于一組常見(jiàn)的錯(cuò)誤 —— 包括不正確的比較(例如使用 <= 而不使用 < 或 > 符號(hào)、不適當(dāng)?shù)牟紶栠\(yùn)算符(與 / 或)、濫用變量(誤用 i 而不是 j)等。
系統(tǒng)測(cè)試期間,微軟研究員特別專注于 Python 代碼。一旦檢測(cè)器通過(guò)了訓(xùn)練,即可將它用于檢測(cè)和修復(fù)實(shí)際代碼中的 bug 。
不過(guò)為了均衡性能,他們還是手動(dòng)注釋了 Python Package Index 中包含的某些類型的小錯(cuò)誤數(shù)據(jù)集。
最終與隨機(jī)錯(cuò)誤插入等其它替代方案相比,其“hide-and-seek”訓(xùn)練模型有高達(dá)三成的領(lǐng)先優(yōu)勢(shì),前景很是光明。
具體說(shuō)來(lái)是,hide-and-seek 能夠自動(dòng)找到并修復(fù)大約 26% 的錯(cuò)誤,且其中包括了 19 個(gè)此前未知的真實(shí)開(kāi)源 GitHub 代碼中的 bug 。
與此同時(shí),現(xiàn)階段的 AI 模型仍存在許多誤報(bào)。在投入實(shí)際運(yùn)用之前,顯然還需要開(kāi)展更多的改進(jìn)。
最后,鑒于微軟已經(jīng)成功地推動(dòng)了 GitHub 上的 GPT-3 項(xiàng)目,預(yù)計(jì) hide-and-seek 也將很快迎來(lái)商業(yè)化應(yīng)用。
關(guān)鍵詞: 微軟 揪除代碼 代碼錯(cuò)誤 BugLabs人工智能
網(wǎng)站首頁(yè) |網(wǎng)站簡(jiǎn)介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 hexin8.com All Rights Reserved.
中國(guó)網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書(shū)面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
海丰县| 西峡县| 海原县| 原阳县| 卢湾区| 静乐县| 太仆寺旗| 武乡县| 中卫市| 丹江口市| 沙洋县| 阿荣旗| 始兴县| 富源县| 武山县| 崇仁县| 武穴市| 新晃| 南靖县| 洱源县| 吐鲁番市| 维西| 平塘县| 策勒县| 冷水江市| 新龙县| 合江县| 洪江市| 东方市| 乌兰察布市| 龙口市| 绥化市| 吴旗县| 桦甸市| 潼南县| 大冶市| 北京市| 舒城县| 永兴县| 广州市| 衡南县|