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

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

26.10.2018      18084

Европейские исследователи создали бота, который способен самостоятельно выпускать патчи к программному обеспечению. Несколько «заплаток» от нейросети уже одобрили разработчики на 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. Артано 725 26.10.18 12:03 Сейчас в теме
Расходимся, посоны, запасаемся медикаментами и продовольствием и боеприпасами. Грядёт судный день
dimisa; o.nikolaev; ProgrammistC; user764477; rpgshnik; TreeDogNight; Kochergov; +7 Ответить
2. Артано 725 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. 🅵🅾️🆇 509 28.10.18 04:26 Сейчас в теме
(3)
Ну вообще на гитхабе автоматически проверяется хардкод, чтоб вы токены, логины-пароли не хардкодили.
Также можно запросто написать через регулярки проверки на типовые ошибки вроде:
if (var = 0)

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

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

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

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


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

См. также

 «Яндекс» открыл доступ к SmartCaptcha и нейросети по генерации текстов 

Новость ИТ-новость Яндекс

Компания открыла доступ к алгоритму SmartCaptcha, который защищает сайт от спама и DDoS-атак, а также к проекту YaLM 100B, способному писать тексты на английском и русском языках. 

29.06.2022    532    VKuser24342747    0       

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

Новость Кадровые агентства, подбор персонала ИТ-новость Яндекс

Компания запустила сервис, при помощи которого можно получить оценку своих технических навыков от специалистов «Яндекса». Тестирование включает онлайн-интервью и решение задач с реальных собеседований. 

27.06.2022    802    VKuser24342747    1       

GitHub открыл доступ всем разработчикам к ИИ-помощнику Copilot по подписке

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

Github Copilot стал общедоступным, но для его использования пользователю репозитория нужно приобрести подписку. Хотя некоторые разработчики могут пользоваться инструментом бесплатно.

24.06.2022    630    VKuser24342747    1       

В России планируют учредить Федерацию спортивного программирования

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

Минцифры и Минспорта подписали меморандум, в котором закреплено сотрудничество ведомств по развитию в стране спортивного программирования и проведение первого официального чемпионата.

21.06.2022    1130    VKuser24342747    5       

Microsoft окончательно прекратила поддержку Internet Explorer

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

Microsoft прекратила выпуск обновлений для своего браузера Internet Explorer, а с августа начнет удалять приложение из актуальных версий Windows. Эксперты полагают, что из-за этого пострадает много бизнес-пользователей.

17.06.2022    1374    VKuser24342747    4       

В России начал работу отечественный сервис мониторинга сбоев

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

Российская компания BrandAnalytics запустила платформу «Детектор сбоев», предназначенную для отслеживания работоспособности сайтов и сервисов, в том числе русскоязычных.

16.06.2022    784    VKuser24342747    0       

Минцифры запустило систему отслеживания поддельных сайтов

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

Информационная система под названием «Антифишинг» способна обнаруживать мошеннические веб-ресурсы, которые выглядят как официальные сайты госорганов, компаний и соцсетей.

14.06.2022    1281    VKuser24342747    0       

GitHub прекратил поддержку редактора Atom ради перехода на VS Code

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

GitHub объявил о прекращении разработки редактора кода Atom. К концу года все проекты в этом приложении станут доступны только для чтения. Причина – медленное развитие приложения.

10.06.2022    1164    VKuser24342747    2       

Вышла новая версия открытой операционной системы AlmaLinux 9

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

AlmaLinux – альтернатива CentOS, поддержка которой будет прекращена в 2024 году. В девятой версии ОС добавлено больше инструментов безопасности и обновлена среда разработки приложений.

09.06.2022    2311    VKuser24342747    2       

GitLab представила новый релиз платформы совместной разработки

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

Вышел релиз ИТ-хостинга для совместной разработки GitLab 15.0. В нем проведена подготовительная работа для перехода на VS Code, а также добавлен расширенный поиск и возможность управлять несколькими итерациями.

01.06.2022    1403    VKuser24342747    2       

Минцифры создаст единую цифровую платформу для акцептования оферт

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

Правительство подготовило проект постановления, которое позволяет провести эксперимент по разработке Единой цифровой платформы ведения и акцептования оферт. В тестовом режиме сервис проработает до января 2023 года.

31.05.2022    868    VKuser24342747    0       

VK совместно с Минцифры запустили магазин приложений RuStore

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

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

27.05.2022    1967    VKuser24342747    5       

В GitHub появилась нативная поддержка математических выражений в md-файлах

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

Команда GitHub рассказала о новой функции, которая позволяет записывать математические формулы в Markdown. Разработчики впервые попросили добавить эту возможность восемь лет назад.

26.05.2022    1273    VKuser24342747    0       

Национальный удостоверяющий центр наладил выпуск TLS-сертификатов

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

Национальный удостоверяющий центр (НУЦ) предложил владельцам сайтов получить сертификаты безопасности с поддержкой технологии прозрачности. Они работают в российских браузерах.

25.05.2022    1529    VKuser24342747    1       

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

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

Минцифры анонсировало программу Bug Bounty, в которой смогут принять участие российские хакеры. Специалисты по безопасности будут тестировать государственные системы.

25.05.2022    1942    VKuser24342747    2       

Банк России добавил поддержку NFC-технологии в Систему быстрых платежей

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

В Системе быстрых платежей (СБП) появилась возможность проводить бесконтактную оплату при помощи NFC-чипов смартфонов. Функция будет доступна при использовании приложения «СБПэй».

20.05.2022    4907    VKuser24342747    4       

В России начал работу отечественный магазин приложений NashStore

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

Приложение-маркетплейс для Android стало доступно для скачивания на официальном сайте. Магазин позиционируется как альтернатива Google Play.

17.05.2022    3481    VKuser24342747    12       

В России создадут единую систему хранения государственных данных

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

Минцифры приступает к разработке ГосДата.хаба, который будет хранить в себе информацию от всех государственных учреждений. В 2024 году проект должен быть полностью реализован, а в 2023 году система будет запущена в опытную эксплуатацию.

16.05.2022    2931    Senator_I    3       

GitHub до конца 2023 года полностью перейдет на двухфакторную аутентификацию

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

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

12.05.2022    5651    VKuser24342747    0       

В России создан алгоритм принятия решений о необходимости обновления критичного ПО

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

Центр кибербезопасности РФ подготовил рекомендации по обновлению программ, критически важных для бизнеса. Ведомство рассказало, в каких случаях следует избегать автоматического обновления ПО.

21.04.2022    3598    VKuser24342747    0       

ИТ-отрасль представила Минцифры список приоритетных направлений поддержки

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

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

15.04.2022    4221    VKuser24342747    1       

Для TLS 1.3 реализована поддержка российских стандартов шифрования

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

Реализация протокола TLS 1.3 с использованием российских защитных алгоритмов разработана компаниями «Криптонит» и «Криптоком». Применять его можно как расширение для OpenSSL 1.1.1.

16.03.2022    9293    VKuser24342747    1       

В GitHub добавили поддержку диаграмм

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

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

24.02.2022    11458    user1015646    0       

Финализирован список новых возможностей Java 18

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

Намеченный на 22 марта 2022 года релиз Java 18 находится во второй фазе стабилизации. В новой версии языка появится несколько возможностей в виде превью и инкубаторов для тестирования.

14.02.2022    10507    VKuser24342747    2       

В России разработали открытую операционную систему «Фантом» на собственном микроядре

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

Подавляющее большинство операционных систем, над которыми работают российские компании, создаются на ядре GNU/Linux. Возможно, у них наконец-то появится конкурент: DZ Systems представила ОС «Фантом», микроядро которой написано «с нуля».

02.02.2022    7136    user1015646    2