您现在的位置是:首页 >每日动态 > 2021-12-14 15:15:23 来源:

微软的新AI工具可以告诉你你的代码何时糟糕

导读 Microsoft研究人员开发了一种人工智能(AI)解决方案,他们认为该解决方案可以帮助程序员更快、更准确地调试他们的应用程序。这种名为BugLab

Microsoft研究人员开发了一种人工智能(AI)解决方案,他们认为该解决方案可以帮助程序员更快、更准确地调试他们的应用程序。这种名为BugLab的人工智能基于“捉迷藏”游戏模型,其工作方式类似于生成对抗网络(GAN)的创建方式。

研究人员MiltosAllamanis(首席研究员)和MarcBrockschmidt(高级首席研究经理)在博客文章中详细介绍了这项研究,解释了他们如何创建两个网络并将它们相互对抗,就像玩捉迷藏一样。

一个网络旨在在现有代码中创建大大小小的错误,而另一个网络旨在找到它们。随着游戏的进行,并且两个“参与者”都越来越擅长,AI达到了足以识别隐藏在实际代码中的错误的程度。

研究人员解释说,这两个模型是在没有标记数据的情况下以自我监督的方式联合训练的,超过“数百万个代码片段”。

研究人员声称,尽管这个想法是创建一个可以识别任意复杂错误的程序,但这些仍然“超出了现代人工智能方法的范围”。相反,他们专注于常见的错误,例如不正确的比较、错误的布尔运算符、变量滥用和类似的错误。

挡道的误报

测试是在Python上完成的,在训练应用程序之后,是时候在现实生活中测试它了。

“为了衡量性能,我们手动注释了Python包索引中包含此类错误的包中的一个小错误数据集,并表明与其他替代方法相比,使用我们的“捉迷藏”方法训练的模型最多可提高30%,例如,用随机插入的错误训练的检测器,”该博客补充道。

两人将结果描述为“有希望的”,因为可以自动找到并修复大约四分之一(26%)的错误。更重要的是,在检测到的错误中,有19个以前未知的错误。

尽管如此,仍有许多误报,导致研究人员得出结论,在实际部署这样的模型之前需要进行更多的培训。