Робот-разработчик научился исправлять ошибки в коде не хуже людей

26.10.2018      18765

Европейские исследователи создали бота, который способен самостоятельно выпускать патчи к программному обеспечению. Несколько «заплаток» от нейросети уже одобрили разработчики на GitHub.

Работа под прикрытием

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

Робот работает на платформе GitHub. Он постоянно отслеживает, какие новые версии продуктов появляются на этом ресурсе. Когда добавляется новый проект, Repairnator проверяет его код на наличие ошибок и предлагает вариант их исправления еще до того, как исходники программы успеют изучить люди. До недавнего времени бот работал на GitHub под аккаунтом инженера Люка Эсапе (Luc Esape). После публичной презентации робота раскрылась настоящая личность этого «программиста».

Исходники проекта европейских ученых доступны на GitHub.

Успехи робота

Авторы Repairnator’а сообщили, что всего бот на текущий момент выпустил пять «заплаток», которые были приняты другими разработчиками. До этого робот сделал 3551 попытку исправить код, однако все они уступали предлагаемым решениям от программистов-людей. Сколько бот выпустил ошибочных патчей, которые не устраняли проблемы или создавали новые, исследователи не сообщили.

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

Робот заменит программиста?

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

Repairnator должен стать фильтром на этапе, когда готовая сборка проекта передается команде тестирования. Он сможет без привлечения профильных специалистов обнаружить самые примитивные и очевидные дефекты, которые неизбежно возникают при разработке масштабного продукта. Это должно снизить нагрузку на QA-отдел и освободить сотрудников для более сложных задач. Заменить тестировщиков в более творческой работе (например, составлении тест-кейсов) робот не сможет.


Автор:
Аналитик


Опасаетесь ли вы, что нейросеть научится писать код лучше человека?


Да, это вполне реально (28.07%, 16 голосов)
28.07%
Маловероятно (14.04%, 8 голосов)
14.04%
Это задача для настоящего ИИ, а не нейросети (38.6%, 22 голосов)
38.6%
Этого не сможет сделать ни нейросеть, ни ИИ (19.3%, 11 голосов)
19.3%

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Артано 730 26.10.18 12:03 Сейчас в теме
Расходимся, посоны, запасаемся медикаментами и продовольствием и боеприпасами. Грядёт судный день
dimisa; o.nikolaev; ProgrammistC; user764477; rpgshnik; TreeDogNight; Kochergov; +7 Ответить
2. Артано 730 26.10.18 12:06 Сейчас в теме
По сабжу. Хороший структурированный код машина может анализировать и я лично имею опыт автоматического семантического анализа кода. Несвязный, неструктурированный код и человек не может хорошо проанализировать без декомпозиции. Выходит, что евангелисты качественного кода являются агентами скайнета.
TreeDogNight; Kochergov; medvedev8; +3 Ответить
3. s22 19 26.10.18 12:25 Сейчас в теме
Я вообще не понял, что это за фигня и какие языки правит.
Может он форматирует текст?
5. VKuser24342747 30 26.10.18 14:16 Сейчас в теме
(3) Те пять проектов, что приняли правки бота, написаны на Java.
NullPointerException форматированием кода не исправишь :)
Kochergov; +1 Ответить
8. 🅵🅾️🆇 514 28.10.18 04:26 Сейчас в теме
(3)
Ну вообще на гитхабе автоматически проверяется хардкод, чтоб вы токены, логины-пароли не хардкодили.
Также можно запросто написать через регулярки проверки на типовые ошибки вроде:
if (var = 0)

Ну и все такое, с чем любая нормальная IDE'шка подсказывает.

За рабочее место можете не переживать, машины первыми полностью автоматизируют пролетариат, затем людей искусства, а уж только затем технарей)

Нейросеточки и майнинг это еще два всадника:
Прикрепленные файлы:
4. vano-ekt 850 26.10.18 13:07 Сейчас в теме
робот-тестировщик
Kochergov; +1 Ответить
6. DmitryKSL 156 26.10.18 14:57 Сейчас в теме
Сколько бот выпустил ошибочных патчей, которые не устраняли проблемы или создавали новые, исследователи не сообщили

ЗУП 3 случаем не бот пишет?
shard; EVKash; Lok`Tar; YanTsys; papami; ProgrammistC; grumagargler; +7 Ответить
7. tricolor 21 26.10.18 15:47 Сейчас в теме
(6) и ERP походу тоже этот бот пишет
EVKash; dimisa; PerlAmutor; YanTsys; +4 Ответить
9. dimisa 133 29.10.18 13:39 Сейчас в теме
(7)ERP пишут самообучаемые нейросети.
11. _wlad_ 29.11.18 17:24 Сейчас в теме
(6)
ЗУП 3 случаем не бот пишет?

Кто выдал эту коммерческую тайну?
10. _wlad_ 29.11.18 17:23 Сейчас в теме
До этого робот сделал 3551 попытку исправить код


А потому он такой говорит:"Мне нужна твоя одежда и мотоцикл!"
Оставьте свое сообщение

См. также

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

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

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

30.01.2023    1668    VKuser24342747    1       

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

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

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

24.01.2023    1133    VKuser24342747    0       

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

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

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

20.01.2023    980    VKuser24342747    0       

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

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

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

19.01.2023    1107    VKuser24342747    0       

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

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

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

19.01.2023    1082    VKuser24342747    0       

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

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

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

17.01.2023    1767    user1816563    0       

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

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

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

12.01.2023    1923    VKuser24342747    0       

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

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

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

11.01.2023    3854    VKuser24342747    2       

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

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

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

22.12.2022    2514    VKuser24342747    2       

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

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

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

22.12.2022    1913    VKuser24342747    1       

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

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

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

21.12.2022    2154    VKuser24342747    0       

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

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

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

20.12.2022    1782    VKuser24342747    1       

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

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

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

16.12.2022    2623    VKuser24342747    1       

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

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

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

15.12.2022    1846    VKuser24342747    0       

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

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

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

14.12.2022    1899    VKuser24342747    0       

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

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

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

14.12.2022    2114    VKuser24342747    1       

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

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

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

09.12.2022    1939    VKuser24342747    0       

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

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

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

08.12.2022    2045    VKuser24342747    0       

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

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

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

01.12.2022    2525    VKuser24342747    11       

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

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

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

28.11.2022    2398    VKuser24342747    0       

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

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

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

24.11.2022    3211    VKuser24342747    1       

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

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

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

23.11.2022    2312    VKuser24342747    1       

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

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

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

02.11.2022    2259    VKuser24342747    1       

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

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

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

21.10.2022    2583    VKuser24342747    4       

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

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

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

19.10.2022    3491    VKuser24342747    14