• 您現在的位置是:首頁 >每日動態 > 2021-12-14 15:15:23 來源:

    微軟的新AI工具可以告訴你你的代碼何時糟糕

    導讀 Microsoft研究人員開發了一種人工智能(AI)解決方案,他們認為該解決方案可以幫助程序員更快、更準確地調試他們的應用程序。這種名為BugLab

    Microsoft研究人員開發了一種人工智能(AI)解決方案,他們認為該解決方案可以幫助程序員更快、更準確地調試他們的應用程序。這種名為BugLab的人工智能基于“捉迷藏”游戲模型,其工作方式類似于生成對抗網絡(GAN)的創建方式。

    研究人員MiltosAllamanis(首席研究員)和MarcBrockschmidt(高級首席研究經理)在博客文章中詳細介紹了這項研究,解釋了他們如何創建兩個網絡并將它們相互對抗,就像玩捉迷藏一樣。

    一個網絡旨在在現有代碼中創建大大小小的錯誤,而另一個網絡旨在找到它們。隨著游戲的進行,并且兩個“參與者”都越來越擅長,AI達到了足以識別隱藏在實際代碼中的錯誤的程度。

    研究人員解釋說,這兩個模型是在沒有標記數據的情況下以自我監督的方式聯合訓練的,超過“數百萬個代碼片段”。

    研究人員聲稱,盡管這個想法是創建一個可以識別任意復雜錯誤的程序,但這些仍然“超出了現代人工智能方法的范圍”。相反,他們專注于常見的錯誤,例如不正確的比較、錯誤的布爾運算符、變量濫用和類似的錯誤。

    擋道的誤報

    測試是在Python上完成的,在訓練應用程序之后,是時候在現實生活中測試它了。

    “為了衡量性能,我們手動注釋了Python包索引中包含此類錯誤的包中的一個小錯誤數據集,并表明與其他替代方法相比,使用我們的“捉迷藏”方法訓練的模型最多可提高30%,例如,用隨機插入的錯誤訓練的檢測器,”該博客補充道。

    兩人將結果描述為“有希望的”,因為可以自動找到并修復大約四分之一(26%)的錯誤。更重要的是,在檢測到的錯誤中,有19個以前未知的錯誤。

    盡管如此,仍有許多誤報,導致研究人員得出結論,在實際部署這樣的模型之前需要進行更多的培訓。

  • 成人app