ИИ-инструмент для автоматизации отладки и поиска багов в коде

25.12.2021

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

Всего в BugLab задействовано две конкурирующие GAN-сети, которые учатся, «играя» между собой в прятки. А сам процесс построен следующим образом. Первая сеть получает на вход эталонный программный код и решает стоит ли вводит в код ошибку и точно формулирует свою ошибку.

К примеру, решает заменить знак сложения знаком вычитания. После этого код редактируется и в него специально заносятся ошибки. Затем другая сеть ищет ошибку, сделанную первой сетью, и пытается ее исправить.В компании отметили, что нынешние модели машинного обучения пока не умеют находить сложные логические и архитектурные баги, поэтому исследователи сконцентрировались на обучении ИИ определять самые распространенные ошибки, к которым относятся:

  • ошибки использования символов сравнения;
  • неправильное применения логических операторов;
  • ошибки в именах переменных.

Также исследователи заявили, что во время обучения использовали фрагменты кода на языке программирования Python. А после процесса обучения протестировали ИИ на отрывках кода из Python Package Index (PyPI). Испытания показали, что подобный метод обучения на 30% эффективнее альтернатив.