Андрей Галадей

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

Он отслеживает состояние тысяч проектов на GitHub и автоматически сканирует код на наличие уязвимостей. Бот проверяет новые версии до просмотра людей.

2117
Обложка поста repairnator-github-bot

Исследователи из Лилльского университета, Национального исследовательского института INRIA (Франция) и Королевского технологического института KTH (Швеция) разработали специального бота, который может исправлять бреши в программном обеспечении. Бот называется Repairnator и уже позволяет создавать качественные патчи.

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

Repairnator непрерывно отслеживает тысячи новых версий проектов на платформе GitHub. При добавлении нового проекта он включает предварительную проверку и исправление ошибок ещё до того, как его проверят люди. Бот существует уже два года и к настоящему времени он создал 5 «заплаток», принятых в код. Исходники бота доступны также на GitHub.

Количество неудачных попыток исправления ошибок в коде разработчики не уточняют. Но известно, что ранее бот сделал 3551 попытку правки кода, однако они уступали «человеческим» патчам. Первоначально бот работал под именем инженера Люка Эсапе (Luc Esape), но затем его «личность» раскрыли сами создатели.

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

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

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

Возможно, если бы такой бот существовал в 2010 году, он был не допустил появления уязвимости в jQuery File Upload. Популярный плагин оказался небезопасным, поскольку в нём была возможность загружать на целевой сервер инструменты для перехвата управления.

Следите за новыми постами по любимым темам

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

Веб-разработка
Безопасность
Нейронные сети
Искусственный интеллект
2117
Что думаете?
0 комментариев
Сначала интересные
Курсы
набор еще идетонлайн7590₽
набор еще идетонлайнбесплатно
набор еще идетонлайнбесплатно
набор еще идетонлайн2790₽
Все курсы