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

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. Артано 712 26.10.18 12:03 Сейчас в теме
Расходимся, посоны, запасаемся медикаментами и продовольствием и боеприпасами. Грядёт судный день
dimisa; o.nikolaev; ProgrammistC; user764477; rpgshnik; TreeDogNight; Kochergov; +7 Ответить
2. Артано 712 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. 🅵🅾️🆇 495 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 126 29.10.18 13:39 Сейчас в теме
(7)ERP пишут самообучаемые нейросети.
11. _wlad_ 29.11.18 17:24 Сейчас в теме
(6)
ЗУП 3 случаем не бот пишет?

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


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

См. также

ARM разработала гибкий пластиковый микропроцессор

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

Специалисты ARM представили пластиковую версию процессора Cortex-M0. Решение с тонкопленочными транзисторами на полиамидной подложке унаследовало все возможности популярного микроконтроллера.

сегодня в 14:42    1978    user1015646    0       

Intel признает, что отстает от конкурентов на четыре года и будет выпускать чипы для Qualcomm

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

Представители корпорации Intel заявили, что компания начнет производство чипов Qualcomm. Также компания подготовила план развития, чтобы догнать своих конкурентов, таких как Taiwan Semiconductor Manufacturing и Samsung Electronics, к 2025 году.

30.07.2021    1141    SKravchenko    1       

Представлено водяное охлаждение для чипов мощностью 2,6 кВт

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

Компания TSMC, один из крупнейших производителей микропроцессоров, разработала инновационную систему водяного охлаждения. Она позволяет отвести от чипа 2,6 кВт тепла.

30.07.2021    1658    user1015646    1       

«Сбер» впервые в России получил патент на программу, написанную ИИ

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

Подразделение Sber AI зарегистрировало в Роспатенте приложение, написанное предварительно обученной нейросетью. Искусственный интеллект сгенерировал код на C++ и Java.

30.07.2021    937    VKuser24342747    3       

Линус Торвальдс добавит в Linux драйвер для NTFS от российских разработчиков

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

Создатель Linux заявил о готовности добавить драйвер в ядро операционной системы, если программисты из России займутся его интеграцией и сопровождением. Торвальдс лично примет этот pull-запрос.

28.07.2021    2083    VKuser24342747    0       

Amazon представил игровой движок с открытым исходным кодом

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

Компания Amazon всерьез намерена покорить все цифровые рынки – в том числе индустрию гейминга. Разработчики выпустили движок Open 3D Engine для создания игр и других приложений с открытым исходным кодом.

28.07.2021    850    user1015646    0       

Microsoft представила эмулятор Altair 8800 на Azure Sphere

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

Microsoft представила эмулятор ретрокомпьютера Altair 8800 на операционной системе для работы с облаком Azure Sphere.

27.07.2021    1720    SKravchenko    0       

Microsoft выпустит облачную ОС

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

Компания Microsoft активно конкурирует с Amazon и Google на рынке передовых облачных технологий. Чтобы предоставить пользователям возможность гибридной работы в Windows с любого устройства, разработчики анонсировали облачную ОС – сервис Windows 365.

26.07.2021    1894    user1015646    0       

Google добавит в Chrome режим приоритетной загрузки сайта по HTTPS

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

В новой версии Google Chrome появится режим HTTPS-First, который заставит браузер всегда пытаться загружать сайты по защищенному протоколу. В будущих релизах веб-обозревателя эта функция будет включена по умолчанию.

21.07.2021    1260    VKuser24342747    0       

JetBrains назвала JavaScript и SQL самыми популярными языками в России

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

Компания JetBrains провела ежегодный опрос об экосистеме разработки в 2021 году. В нем приняли участие 31 743 разработчика из 183 стран, в том числе из Российской Федерации и СНГ.

21.07.2021    1427    VKuser24342747    3       

MongoDB с последней версией Atlas стал бессерверным

Новость СУБД ИТ-новость

13 июля MongoDB представила версию 5.0 платформы баз данных NoSQL. Последние обновления поддерживают многие рабочие нагрузки в бессерверном режиме. Новая версия включает новые возможности для приложений и улучшения конфиденциальности и безопасности.

20.07.2021    1719    SKravchenko    1       

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

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

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

20.07.2021    1647    VKuser24342747    2       

Появился способ игнорировать запрет установки Windows 11 на слабые ПК

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

Новая Windows 11 не может быть установлена на компьютеры, которые не соответствуют системным требованиям, определенным разработчиками. Однако продвинутые пользователи нашли способ обойти это ограничение.

19.07.2021    1497    VKuser24342747    0       

На свежих процессорах Intel создали микрокомпьютер под Windows 10

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

Энтузиасты и стартаперы полюбили Arduino и Raspberry Pi. Но инженеры Commate Computer (Commell) пошли дальше и представили миниатюрный ПК LE-37O на базе новейших чипов Intel Tiger Lake. И на нем можно запустить Windows 10.

16.07.2021    1398    user1015646    3       

Вот это поворот: Microsoft выпустила дистрибутив Linux

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

Пока мир замер в ожидании новой Windows 11, Microsoft решила преподнести пользователям большой сюрприз – и представила собственный дистрибутив Linux, CBL-Mariner 1.0.

15.07.2021    1812    user1015646    2       

Стартовала программа возмещения затрат разработчикам на скидки для малого бизнеса

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

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

15.07.2021    872    ЕленаЧерепнева    0       

Исследователи установили: ИИ-программы для собеседований не понимают речь соискателя

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

Эксперты из Массачусетского технологического института (MIT) изучили приложения, анализирующие резюме кандидатов. Ученые пришли к выводу, что такой софт плохо справляется с задачами и дает неверные результаты.

14.07.2021    809    VKuser24342747    1       

Юбилейный индекс TIOBE на июль. Рейтинг отмечает 20-летие

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

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

12.07.2021    1271    SKravchenko    0       

Google сделает обязательной двухэтапную аутентификацию для аккаунтов разработчиков

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

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

08.07.2021    1136    VKuser24342747    1       

Google установил новый обязательный формат для Android-приложений

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

Компания Google объявила, что стандарт приложений Android App Bundle (AAB) станет обязательным в Play Store. Он заменит монолитный формат APK.

07.07.2021    1789    user1015646    0       

Токен исходного кода интернета продали с аукциона

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

NFT-токены – уникальные двойники цифровых произведений – становятся все популярнее: их стали предлагать на традиционных аукционах с вековой историей. На этот раз ушел с молотка токен исходного кода интернета – на Sotheby’s его продали за 5,43 млн долларов США.

06.07.2021    2430    user1015646    0       

Российский разработчик научил нейросеть генерировать голос Геральта из The Witcher 3

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

Программист под ником nikich340 создал модификацию A Night to Remember для игры The Witcher 3: Wild Hunt, в которую добавлены новые реплики главного героя, озвученные нейросетью. 

06.07.2021    1623    VKuser24342747    0       

Linux получил крупнейшее обновление с момента выпуска пятой версии

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

Представлен первый стабильный релиз ядра Linux 5.13. По словам Линуса Торвальдса, это один из самых значительных релизов 5.x. ОС получила возможность корректно работать на процессорах Apple M1 и Intel Alder Lake.

05.07.2021    1776    VKuser24342747    4       

Amazon запустил конкурс на поиск уязвимостей AWS BugBust

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

Компания Amazon объявила о новом челлендже по поиску уязвимостей в AWS. И это не традиционная баунти-программа: здесь куда больше геймификации и амбициозная цель – совместно избавиться от 1 миллиона багов.

05.07.2021    1821    user1015646    0       

ИИ-помощник для программистов от Microsoft сможет дописывать код

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

Microsoft и GitHub представили совместный проект Copilot («второй пилот») на базе технологий организации OpenAI. Ассистент способен анализировать код и предлагать варианты завершения строк в зависимости от контекста. 

05.07.2021    2035    VKuser24342747    2