Исследователи из Лилльского университета, Национального исследовательского института INRIA (Франция) и Королевского технологического института KTH (Швеция) разработали специального бота, который может исправлять бреши в программном обеспечении. Бот называется Repairnator и уже позволяет создавать качественные патчи.
Как работает бот?
Repairnator непрерывно отслеживает тысячи новых версий проектов на платформе GitHub. При добавлении нового проекта он включает предварительную проверку и исправление ошибок ещё до того, как его проверят люди. Бот существует уже два года и к настоящему времени он создал 5 «заплаток», принятых в код. Исходники бота доступны также на GitHub.
Количество неудачных попыток исправления ошибок в коде разработчики не уточняют. Но известно, что ранее бот сделал 3551 попытку правки кода, однако они уступали «человеческим» патчам. Первоначально бот работал под именем инженера Люка Эсапе (Luc Esape), но затем его «личность» раскрыли сами создатели.
Зачем это нужно?
Бот призван автоматизировать отслеживание и исправление ошибок в режиме непрерывной интеграции. В ходе этого рабочие копии объединяются в общую основную ветвь разработки несколько раз в день, после чего производится автоматизированная сборка проекта. Затем её передают команде тестирования.
Repairnator, как ожидается, должен выступить своеобразным фильтром, чтобы уменьшить количество ошибок и сбоев в готовых сборках.
Возможно, если бы такой бот существовал в 2010 году, он был не допустил появления уязвимости в jQuery File Upload. Популярный плагин оказался небезопасным, поскольку в нём была возможность загружать на целевой сервер инструменты для перехвата управления.
Источник: