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

26.10.2018     

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

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

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

Нейросеточки и майнинг это еще два всадника:
Прикрепленные файлы:
4. vano-ekt 840 26.10.18 13:07 Сейчас в теме
робот-тестировщик
Kochergov; +1 Ответить
6. DmitryKSL 152 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 119 29.10.18 13:39 Сейчас в теме
(7)ERP пишут самообучаемые нейросети.
11. _wlad_ 29.11.18 17:24 Сейчас в теме
(6)
ЗУП 3 случаем не бот пишет?

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


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

См. также

Windows 10 сможет запускать приложения с Android-смартфонов

Новость Windows Android ИТ-новость Новости компаний

5 августа 2020 года Microsoft объявила о новшествах, которые появятся в Insider Preview Build 20185. Одной из самых интересных функций стало дальнейшее развитие службы «Ваш телефон».

07.08.2020    491    capitan    1       

Программист из Slack превратил MacOS 8 в кроссплатформенное приложение

Новость ОС Mac OS ИТ-новость

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

06.08.2020    623    VKuser24342747    0       

МТС получил первую в России лицензию на развитие сети 5G

Новость ИТ-новость Новости компаний Телекоммуникации

Роскомнадзор предоставил МТС лицензию на строительство сети 5G по всей территории России — в 83 из 85 субъектов. Срок действия лицензии - до лета 2025 года. Для развития сети были выданы частоты от 24,25 до 24,65 ГГц.

05.08.2020    647    user-programmist    1       

Работа с большими данными во всем мире должна регулироваться профстандартом

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

Британское компьютерное общество (BCS) вместе с Королевским статистическим обществом (RSS) и Королевской инженерной академией (RAEng) начали работу по созданию профстандартов в отрасли больших данных (BigData).

05.08.2020    537    SKravchenko    3       

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

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

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

05.08.2020    525    VKuser24342747    0       

IEEE опубликовал свежий рейтинг языков программирования

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

Институт инженеров электротехники и электроники IEEE Spectrum недавно опубликовал свой рейтинг языков программирования за 2020 год. Как и в последние несколько лет Python снова лидирует, но есть и несколько сюрпризов.

04.08.2020    743    SKravchenko    1       

Facebook запускает конкурента Zoom

Новость ИТ-новость Мессенджеры Новости компаний

23 июля Facebook объявил, что расширяет возможности Messenger Rooms и Facebook Live, – теперь пользователи могут организовывать онлайн-совещания с участием до 50 человек.

03.08.2020    524    SKravchenko    0       

Виртуальные фанаты заполнят пустые стадионы

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

Из-за пандемии COVID-19 сто двадцатый сезон в истории главной лиги бейсбола США пройдет с пустыми стадионами. Но Fox Sports для своих трансляций будет заполнять трибуны виртуальными фанатами с цифровой визуализацией.

31.07.2020    597    SKravchenko    2       

Начался выпуск российских материнских плат для ARM-процессоров «Байкал»

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

Первую российскую материнскую плату для нового ARM-процессора Baikal-M представили компании «Байкал электроникс», «Эдельвейс» и «Базальт СПО». Ориентировочная стоимость платы – 50 тыс. рублей.

30.07.2020    727    user1015646    3       

Банки оценили переход на отечественное ПО в сотни миллиардов рублей

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

Российские банки пересчитали планируемые расходы на внедрение отечественных программ. Затраты финансовых учреждений могут составить до 150 млрд рублей.

30.07.2020    519    VKuser24342747    0       

Молодые сотрудники используют больше разных приложений для работы

Новость Автоматизация Аналитика ИТ-новость

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

29.07.2020    819    SKravchenko    0       

Microsoft представила утилиту для мониторинга процессов в Linux

Новость Linux ИТ-новость Новости компаний

Компания Microsoft выпустила утилиту ProcMon (Process Monitor) для Linux. Программное обеспечение распространяется под открытой лицензией MIT. Ранее ProcMon была доступна только для Windows.

29.07.2020    705    user1015646    2       

Google сделает Android Go обязательной на устройствах с ОЗУ меньше 2 ГБ

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

С октября 2020 года на все новые Android-устройства, имеющие объем ОЗУ 2 ГБ и менее, Google заставит устанавливать Android Go – модифицированную версию Android для устройств начального уровня.

28.07.2020    1604    SKravchenko    0       

Google Cloud представил новые средства безопасности

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

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

28.07.2020    678    user1015646    0       

ПК на Windows могут перейти на ARM-процессоры

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

22 июня Apple объявила о переходе Mac на процессоры собственного производства на базе архитектуры ARM. Первые системы появятся к концу года, начав двухлетний переходный период.

24.07.2020    1859    SKravchenko    1       

Разработчики GitHub представили GCM Core – инструмент универсальной аутентификации для Git-серверов

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

Git Credential Manager Core – это кроссплатформенный инструмент, который может стать альтернативой традиционной HTTPS- или SSH-аутентификации для Git-серверов. Планируется, что в будущем он заменит существующие утилиты аутентификации для Windows, macOS и Linux.

24.07.2020    1109    user1015646    1       

Google выпустила большое обновление Chrome

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

14 июля Google выпустила стабильную версию браузера Chrome 84 Desktop для Windows, Mac и Linux. Новый Chrome получил поддержку Web OTP API, ярлыки PWA и умеет блокировать навязчивые уведомления.

23.07.2020    1733    SKravchenko    0       

GitHub разместил пленочный архив открытого кода в арктическом хранилище

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

GitHub завершил масштабный перенос архива открытого исходного кода в хранилище Arctic World Archive. Данные будут храниться в виде фотоснимков на пленочных накопителях.

22.07.2020    1109    VKuser24342747    2       

Денег нет: «Сколково» прекратило выдавать некоторые гранты до 2021 года

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

Фонд «Сколково» приостановил выдачу грантов за деньги Минфина. Высокотехнологичные компании смогут претендовать на финансирование только в следующем году.

21.07.2020    1165    VKuser24342747    1       

Docker и Amazon Web Services провели взаимную интеграцию инструментов разработчика

Новость Интеграция ИТ-новость Новости компаний

Docker и Amazon вышли на новый этап партнерства. Компании завершили двустороннюю интеграцию инструментов разработчика: Elastic Container Service (ECS) и ECS on AWS Fargate A293; со стороны Amazon; Compose и Desktop developer – со стороны Docker.

20.07.2020    999    user1015646    0       

Министерство связи запустит единую платформу «Гостех» до конца 2021 года

Новость Законодательство ИТ-новость Минкомсвязь

Минкомсвязь определила правила проведения эксперимента по созданию единой цифровой платформы «Гостех». Поставщик и оператор системы до сих пор не назван.

17.07.2020    1140    VKuser24342747    0       

Microsoft не планирует поддерживать PHP 8.0 для Windows

Новость Windows Интернет ИТ-новость Новости компаний

Инженер Microsoft Дейл Хирт объявил, что Microsoft не будет больше поддерживать сборки Windows для языка сценариев PHP начиная с версии 8.0 и выше. Но компания планирует пока «продолжить разработку и сборку PHP под Windows для 7.2, 7.3 и 7.4».

17.07.2020    1154    SKravchenko    1       

«Яндекс» и Mail.ru по поручению правительства разработают аналог Zoom

Новость Mail.Ru ИТ-новость Минкомсвязь Новости компаний Облачные технологии Яндекс

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

16.07.2020    1464    VKuser24342747    4       

Amazon запустил сервис Honeycode для создания приложений без кода

Новость Интерфейсы ИТ-новость Новости компаний Облачные технологии

Новый сервис под названием Honeycode позволит клиентам Amazon Web Services без какого-либо опыта программирования создавать собственные приложения

16.07.2020    1287    SKravchenko    1       

Оператор маркировки запустил роуминговый обмен с ЭДО Лайт

Новость Infostart Software Partners Маркет Маркировка

К электронному документообороту от «Честного Знака», бесплатно доступному для представителей малого бизнеса, работающих с маркированным товаром, подключили роуминг с другими операторами.

14.07.2020    2060    Senator_I    0