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

Возврат к списку

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

26.10.2018     

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

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

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

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

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

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

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

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

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

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

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



Источник: https://infostart.ru/journal/news/tekhnologii/robot-razrabotchik-nauchilsya-ispravlyat-oshibki-v-kode-ne-khuzhe-lyudey_931139/
Автор:
Александр Вашкевич Аналитик


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


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

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

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

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

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

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