Новый инструмент Microsoft использует искусственный интеллект для поиска багов в коде

Новый инструмент Microsoft использует искусственный интеллект для поиска багов в коде

24.12.2021      15812

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

Зачем это нужно

Компания Rollbar провела исследование, в котором приняли участие более 950 разработчиков. Эксперты установили, что 38% опрошенных уделяют исправлению ошибок более четверти рабочего времени, 26% – более половины.

В Microsoft предложили ускорить багфикс. На конференции NeurIPS 2021 специалисты представили статью «Самоконтролируемое обнаружение и устранение ошибок» и модель глубокого обучения для поиска и исправления багов в коде.

Исследователи пояснили: на создание BugLab их вдохновила игра в прятки. Модель обходится без использования размеченных данных, а значит, ее легко адаптировать практически для любого кода на любом языке программирования.

Чтобы находить ошибки, нужно не только понимать структуру кода. Модель также должна понимать суть комментариев, которые нередко оставляют разработчики.

Например, в этом фрагменте программист создал функцию, которая должна обрезать имя до длины в 22 символа. Но по ошибке он использовал не ту операцию сравнения. BugLab нашла проблему и предложила исправление:

 

 

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

Как работает BugLab

В BugLab используются две конкурирующие модели, которые учатся, играя в своеобразный аналог игры «прятки». В его основе – генеративные состязательные сети (GAN).

Первая модель, селектор ошибок, обучается на примерах кода, который считает верным. Затем она решает, в каком месте программы добавить ошибку – например, где заменить «+» на «-». А после этого вторая модель, детектор ошибок, пытается определить, есть ли в коде баг, и если да, то как его исправить.

 

 

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

Разработчики отметили, что теоретически BugLab можно научить обнаруживать даже самые сложные ошибки. Но это долго и затратно, к тому же чтобы добиться высокой точности, нужны дополнительные исследования. Вместо этого в Microsoft сконцентрировались на наиболее часто возникающих ошибках: это неправильные сравнения (например, использование «<=» вместо «<» или «>»), неверные логические операторы (использование «и» вместо «или» и наоборот), некорректное использование переменных (например, неправильное использование «i» вместо «j») и некоторые другие.

Какие результаты выдает BugLab

Для тестирования BugLab рассматривали код на Python. Его брали из открытых репозиториев на GitHub.

В ходе экспериментов разработчики установили, что BugLab справляется с задачей на 30% лучше других систем, например, детекторов, обученных на случайно вставленных ошибках. При этом найти и автоматически исправить уже получается около 26% ошибок.

Интересный факт: детектор смог обнаружить как минимум 19 ранее неизвестных ошибок в реальных проектах GitHub с открытым исходным кодом. Правда, и ложных срабатываний было немало, поэтому до промышленного внедрения инструмента пока далеко.



Источник: https://infostart.ru/journal/news/tekhnologii/novyy-instrument-microsoft-ispolzuet-iskusstvennyy-intellekt-dlya-poiska-bagov-v-kode_1576262/
Автор:
Обозреватель


В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

GitHub опубликовал статистику по языкам и проектам за 2022 год

Новость ИТ-новость Языки программирования Разработка

В статистическом отчете репозитория названы самые популярные языки программирования среди пользователей платформы, а также данные об активности аудитории сервиса.

01.12.2022    1176    VKuser24342747    11       

Инспекторы смогут проводить дистанционные проверки через смартфон

Новость ИТ-новость Мобильные приложения

Минэкономразвития представило мобильное приложение, которое позволит осуществлять надзорные мероприятия бизнеса без посещения офиса. Программа работает через Госуслуги.

28.11.2022    1176    VKuser24342747    0       

«Яндекс» представил бесплатный сервис для быстрого поиска в облаке

Новость ИТ-новость Облачные технологии

Сервис Managed Service for OpenSearch от платформы Yandex Cloud предназначен для оптимизации поисковых систем и проверки стабильности и безопасности работы приложений. Услуга доступа в режиме Public Preview.

24.11.2022    1436    VKuser24342747    1       

В декабре начнут действовать новые правила регистрации доменов .RU и .РФ

Новость ИТ-новость Роскомнадзор

С 12 декабря Роскомнадзор получит право прекращать делегирование домена, если он оформлен нелегально, или на сайте содержится запрещенная в России информация.

23.11.2022    1192    VKuser24342747    1       

Stack Overflow запустил проект для оффлайн-доступа к форуму

Новость ИТ-новость Разработка

Проект под названием Overflow Offline позволяет скачать актуальную версию архива вопросов и ответов по разработке ПО. По объему данных база форума уступает только «Википедии».

02.11.2022    1161    VKuser24342747    1       

Минцифры запустило магазин российского ПО из реестра ИТ-решений

Новость Импортозамещение ИТ-новость

Маркетплейс «Руссофт» стал доступен для всех пользователей. С его помощью можно подобрать программы от отечественных разработчиков для решения корпоративных задач бизнеса.

21.10.2022    1639    VKuser24342747    4       

В ноябре начнется создание российского государственного аналога GitHub

Новость ИТ-новость

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

19.10.2022    2385    VKuser24342747    14       

OpenAI опубликовала код системы распознавания речи Whisper

Новость Искусственный интеллект ИТ-новость

OpenAI открыла исходный код эталонной реализации на базе фреймворка PyTorch и набор уже обученных моделей для использования под лицензией MIT. Нейросеть используется для перевода речи в текст.

28.09.2022    2661    VKuser24342747    0       

Вторая версия среды разработки для плат Arduino вышла из бета-теста

Новость ИТ-новость Микроэлектроника

Arduino IDE 2.0 получила стабильную версию, в которой появилась поддержка автодополнения кода и темная тема. Разработка заняла несколько лет. Программа распространяется бесплатно.

23.09.2022    2653    VKuser24342747    0       

Основатель движения свободного ПО выпустил руководство по языку C

Новость Linux ИТ-новость Языки программирования

Ричард Мэттью Столлман, основатель Фонда свободного программного обеспечения, представил руководство по языку C и расширениям GNU. Пособие доступно всем желающим и предназначено как для опытных, так и начинающих программистов.

19.09.2022    2210    VKuser24342747    0       

«Ростелеком» предложил создать национальную экосистему на базе «Авроры»

Новость Импортозамещение ИТ-новость Мобильные приложения

Провайдер считает, что государственная мобильная экосистема поможет обеспечить технологическую независимость и экономический подъем страны. А ОС «Аврора» наиболее перспективная разработка для достижения этих целей.

15.09.2022    2156    VKuser24342747    5       

Яндекс выложил в открытый доступ инструмент для разработки мобильных приложений

Новость ИТ-новость Мобильные приложения Яндекс

Фреймворк DivKit от Яндекса стал доступен как open source решение. Инструмент позволяет менять интерфейс приложений без скачивания обновлений и значительно ускоряет мобильную разработку.

02.09.2022    1828    VKuser24342747    0       

Группа компаний «Астра» представила собственную мобильную ОС

Новость Linux ИТ-новость Мобильные приложения

Доработанная ОС Astra Linux Special Edition может быть запущена на большом числе мобильных устройств, в том числе на планшетах и смартфонах с процессорами на архитектурах ARM, «Эльбрус» и x86-64.

25.08.2022    1508    VKuser24342747    1       

В России разработаны меры для решения проблемы нехватки ИТ-специалистов

Новость ИТ-новость

Вице-премьер Дмитрий Чернышенко сообщил, что сейчас экономике страны не хватает 1 млн ИТ-специалистов. Способы преодоления дефицита закреплены в программе нацпроекта «Цифровая экономика»

05.08.2022    1660    VKuser24342747    11       

Яндекс открыл доступ к фреймворку для создания приложений с микросервисной архитектурой

Новость GitHub ИТ-новость Яндекс

Инструмент Userver опубликован как бесплатное open source решение. Яндекс уже несколько лет эффективно его использует в своих приложениях Go, «Еда», «Лавка», «Доставка» и другие. Фреймворк находится в стадии бета – переезда на открытую разработку.

02.08.2022    2511    VKuser24342747    19       

Бизнес сможет использовать повышающий коэффициент для расходов на покупку ПО

Новость ИТ-новость

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

26.07.2022    2274    VKuser24342747    0       

Минэкономразвития тестирует миграцию с Windows 10 на Astra Linux

Новость ИТ-новость

Министерство проводит эксперимент, в ходе которого сотрудники используют российскую ОС Astra Linux вместо Windows 10. По словам главы департамента, эксперимент проходит успешно.

11.07.2022    1838    VKuser24342747    0       

Вышла версия открытого текстового редактора Vim 9.0

Новость ИТ-новость

В приложение добавлен скриптовый язык с поддержкой компилируемых функций для создания плагинов, улучшена проверка правописания и автодополнения, предоставлен выбор цветовых схем.

07.07.2022    2003    VKuser24342747    0       

 «Яндекс» открыл доступ к SmartCaptcha и нейросети по генерации текстов 

Новость ИТ-новость Яндекс

Компания открыла доступ к алгоритму SmartCaptcha, который защищает сайт от спама и DDoS-атак, а также к проекту YaLM 100B, способному писать тексты на английском и русском языках. 

29.06.2022    2255    VKuser24342747    0       

«Яндекс» предложил разработчикам пройти диагностику технических навыков

Новость Кадровые агентства, подбор персонала ИТ-новость Яндекс

Компания запустила сервис, при помощи которого можно получить оценку своих технических навыков от специалистов «Яндекса». Тестирование включает онлайн-интервью и решение задач с реальных собеседований. 

27.06.2022    2172    VKuser24342747    1       

GitHub открыл доступ всем разработчикам к ИИ-помощнику Copilot по подписке

Новость GitHub Искусственный интеллект ИТ-новость

Github Copilot стал общедоступным, но для его использования пользователю репозитория нужно приобрести подписку. Хотя некоторые разработчики могут пользоваться инструментом бесплатно.

24.06.2022    3826    VKuser24342747    1       

В России планируют учредить Федерацию спортивного программирования

Новость ИТ-новость

Минцифры и Минспорта подписали меморандум, в котором закреплено сотрудничество ведомств по развитию в стране спортивного программирования и проведение первого официального чемпионата.

21.06.2022    2764    VKuser24342747    6       

Microsoft окончательно прекратила поддержку Internet Explorer

Новость Интернет ИТ-новость

Microsoft прекратила выпуск обновлений для своего браузера Internet Explorer, а с августа начнет удалять приложение из актуальных версий Windows. Эксперты полагают, что из-за этого пострадает много бизнес-пользователей.

17.06.2022    3262    VKuser24342747    4       

В России начал работу отечественный сервис мониторинга сбоев

Новость Импортозамещение Интернет ИТ-новость

Российская компания BrandAnalytics запустила платформу «Детектор сбоев», предназначенную для отслеживания работоспособности сайтов и сервисов, в том числе русскоязычных.

16.06.2022    2117    VKuser24342747    0       

Минцифры запустило систему отслеживания поддельных сайтов

Новость Безопасность Интернет ИТ-новость

Информационная система под названием «Антифишинг» способна обнаруживать мошеннические веб-ресурсы, которые выглядят как официальные сайты госорганов, компаний и соцсетей.

14.06.2022    2964    VKuser24342747    0