微軟的首席研究員Miltos Allamanis和高級首席研究經(jīng)理Marc Brockschmidt開發(fā)了他們的人工智能BugLabs,一個能夠發(fā)現(xiàn)代碼中程序錯誤(Bug)的人工智能(AI),可幫助開發(fā)人員更準確和有效地調(diào)試他們的應用程序。
微軟讓兩個網(wǎng)絡相互競爭,一個旨在將小錯誤引入現(xiàn)有代碼,另一個旨在尋找這些錯誤。這兩個網(wǎng)絡變逐漸升級,從而產(chǎn)生了一個善于識別隱藏在真實代碼中Bug的人工智能。
微軟表示,這一系統(tǒng)經(jīng)過數(shù)據(jù)訓練,可以用來檢測并修復代碼中的錯誤。與其它方法相比,經(jīng)過訓練后的模型發(fā)現(xiàn)Bug的概率最多可以提高30%。利用該工具,發(fā)現(xiàn)了存在 GitHub 開源項目中的19個真實存在的代碼錯誤。
這種AI工具目前依舊存在誤報現(xiàn)象,因此還需要進一步改進。
他們的結(jié)論是,他們的方法是有希望的,當然,要使這種檢測器在實際使用中可靠,還需要做很多工作。然而,這項工作很有可能最終被商業(yè)化。
前瞻經(jīng)濟學人APP資訊組
微軟報告資料:https://www.microsoft.com/en-us/research/blog/finding-and-fixing-bugs-with-deep-learning/