Microsoft создала ИИ, выявляющий баги в коде

Microsoft создала ИИ, выявляющий баги в коде
Исследователи компании Microsoft разработали решение на основе искусственного интеллекта (ИИ), которое поможет быстрее и лучше писать код. ИИ под названием BugLab основан на игровой модели hide and seek и работает по принципу генеративно-состязательных сетей (GAN). Об этом рассказали сотрудники компании Милтос Алламанис и Марк Брокшмидт в своем блоге на сайте Microsoft.

«Для измерения производительности мы вручную аннотировали небольшой набор данных с ошибками из пакетов в Python Package Index и показали, что модели, обученные с помощью нашего метода, работают на 30% лучше по сравнению с альтернативами», — сообщили исследователи. Они добавили, что BugLab превосходит, например, детекторы, обученные на случайно вставленных ошибках.

Одна сеть предназначена для создания ошибок в коде, а другая — для их поиска. По мере того, как игра продолжается, оба алгоритма становятся лучше. Затем ИИ учится до того момента, когда он становится достаточно точным, чтобы найти ошибки в реальном коде.

Далее специалисты из Microsoft опробовали BugLab на проектах с открытым исходным кодом на GitHub. Среди всех найденных ошибок, 19 оказались ранее неизвестными. Но кроме этого, эксперименты показали, что инструмент еще далек от идеала и часто выдает ложные срабатывания.

похожие материалы

Стрелочка
Стрелочка
UserGate открыл лабораторию по кибербезопасности в МИРЭА — Российском технологическом университете
UserGate открыл лабораторию по кибербезопасности в МИРЭА — Российском технологическом университете

UserGate, отечественный разработчик решений по информационной безопасности, открыл научно-исследовательскую лабораторию на базе МИРЭА — Российского технологического университета (РТУ МИРЭА).

Security Vision сообщает о выходе обновления SOAR: локальный ИИ-ассистент, ML-summary и ML-скоринг
Security Vision сообщает о выходе обновления SOAR: локальный ИИ-ассистент, ML-summary и ML-скоринг

Security Vision SOAR — комплексное решение для управления и автоматизации обработки инцидентов информационной безопасности на всех стадиях жизненного цикла согласно лучшим практикам по NIST/SANS: подготовка, выявление, анализ, сдерживание, устранение, восстановление, постинцидент.