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

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

24.12.2021      17008

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/
Автор:
Обозреватель


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

См. также

Центробанк назначил оператора единой автоматизированной системы страхования

Новость Страхование ИТ-новость

3 марта 2023 года Центробанк принял решение об учреждении АО «Национальная страховая информационная система».

вчера в 09:30    392    user1915009    1       

1

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

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

Бесплатный сервис GitHub для проверки безопасности репозиториев позволяет защитить публичные проекты от утечки конфиденциальных данных. Ранее эта услуга была доступна только владельцам лицензии на GitHub Advanced Security, работающие в облаке GitHub Enterprise Cloud.

07.03.2023    1325    VKuser24342747    1       

1

Минпромторг подготовил план перехода объектов КИИ на российское ПО

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

В проекте документа ведомство предлагает поэтапное внедрение отечественных разработок в госкомпаниях и промышленных предприятиях. Полный переход намечен на 2024 год.

20.02.2023    2045    VKuser24342747    0       

3

Магазин приложений RuStore объявил о завершении бета-теста

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

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

16.02.2023    1900    VKuser24342747    3       

1

СУБД Postgres Pro Enterprise начала поддерживать быструю миграцию с Oracle

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

Релиз российской системы включает все возможности открытой PostgreSQL 15 и облегченной версии СУБД компании — Postgres Pro Standard 15, а также функцию маскировки данных для их конфиденциальной передачи и улучшенное резервное копирование.

10.02.2023    1963    VKuser24342747    2       

1

«Сбер» начнет использовать российские TLS-сертификаты для платежного шлюза

Новость Безопасность ИТ-новость Минцифры

Банк запланировал переход на сертификаты, выпущенные Национальным удостоверяющим центром (НУЦ) Минцифры, на 30 января 2023 года. Клиентам необходимо добавить на свои серверы корневой сертификат ведомства.

30.01.2023    2455    VKuser24342747    1       

2

Минцифры подготовило правила отказа от передачи биометрических данных

Новость ИТ-новость Минцифры

Гражданин имеет право отказаться от сбора и распространения своих биометрических данных. Отказ можно оформить в МФЦ только при личном присутствии.

24.01.2023    1876    VKuser24342747    0       

1

Банки смогут получить право на передоверие полномочий по электронной подписи

Новость ИТ-новость Цифровая подпись Цифровая экономика

Комитет Госдумы рекомендует принять соответствующий законопроект. Документ позволит компаниям финансового сектора использовать электронную подпись наравне с другими организациями.

20.01.2023    1611    VKuser24342747    0       

1

«ВКонтакте» начал поддерживать получение уведомлений от Госуслуг

Новость Госуслуги ИТ-новость Мессенджеры Налоги

Оповещения с Единого портала госуслуг будут отображаться в Вконтакте и приложении «VK Мессенджер». Кроме того, стала доступна оплата штрафов ГИБДД прямо в VK.

19.01.2023    1860    VKuser24342747    0       

1

Минцифры подготовило правила аккредитации госорганов на владение информсистемами для биометрии

Новость Законодательство ИТ-новость Минцифры

Проект постановления содержит требования к Цетробанку и госорганам, а также к сторонним организациям, которые будут привлекаться ведомствами в качестве операторов. Требования согласованы с ФСБ.

19.01.2023    1818    VKuser24342747    0       

1

Утвержден профстандарт специалиста по информационной безопасности

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

Новый профстандарт вступит в силу 1 сентября 2023 года. А пока у работодателей в кредитно-финансовой сфере есть время проанализировать трудовой функционал специалистов по ИБ и при необходимости уточнить его.

17.01.2023    2785    user1816563    0       

2

Национальная система пространственных данных начала работу в России

Новость ИТ-новость Цифровая экономика

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

12.01.2023    2827    VKuser24342747    0       

3

Госдума рассмотрит законопроект о цифровом рубле

Новость Законодательство ИТ-новость Цифровая экономика

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

11.01.2023    4623    VKuser24342747    2       

2

Оператором Единой биометрической системы стал «Центр Биометрических Технологий»

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

Ранее за работу платформы отвечал «Ростелеком». На «Центр Биометрических Технологий» возложены задачи по развитию в России цифровых технологий идентификации и аутентификации, в том числе на основе биометрических персональных данных.

22.12.2022    3008    VKuser24342747    2       

1

GitHub бесплатно проверит репозитории на наличие секретных токенов

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

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

22.12.2022    2662    VKuser24342747    1       

1

GitHub к концу 2023 года введет обязательную двухфакторную аутентификацию

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

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    2889    VKuser24342747    0       

1

Госдума рассмотрит законопроект о провайдере для госсайтов

Новость Государственные, бюджетные структуры Законодательство ИТ-новость

Документ предусматривает запрет на размещение государственных информационных ресурсов на хостингах, не включенных в специальный реестр. Сейчас около 20% ресурсов госорганов размещены на иностранных площадках.

20.12.2022    2331    VKuser24342747    1       

1

«Яндекс» открыл доступ к фреймворку Yatagan для сборки Android-приложений

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

Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.

16.12.2022    3470    VKuser24342747    1       

3

В России появится национальная издательская система вместо иностранных аналогов

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

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

15.12.2022    2496    VKuser24342747    0       

1

Google рассказала о проблемах и преимуществах поддержки разработки на Rust в Android 13

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

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

14.12.2022    2475    VKuser24342747    0       

3

Банки обяжут принимать оплату по картам «Мир» с QR-кодом в смартфоне

Новость Банки ИТ-новость

Оператор платежной системы «Мир» разослал российским банкам документ с требованием обеспечить прием платежей по новой технологии. Первый этап внедрения завершится в апреле 2023 года.

14.12.2022    2653    VKuser24342747    1       

2

Госдума рассмотрит законопроект о создании Национального удостоверяющего центра

Новость Законодательство Интернет ИТ-новость

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

09.12.2022    2402    VKuser24342747    0       

0

Госдума планирует отложить срок обязательного перехода на машиночитаемые доверенности

Новость Законодательство ИТ-новость

Госдума в первом чтении одобрила законопроект, который продлевает переходный период для машиночитаемых доверенностей. Еще полгода организации смогут не применять МЧД при использовании электронных подписей.

08.12.2022    2686    VKuser24342747    0       

1

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

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

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

01.12.2022    3467    VKuser24342747    11       

3

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

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

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

28.11.2022    2932    VKuser24342747    0       

1