Facebook рассказал об инструменте для автоматического исправления кода Getafix

В своем блоге Facebook рассказал о принципе работы Getafix. Программа создана для автоматического исправления кода.
Принцип работы заключается в исправлении багов, найденных анализатором Infer, также созданным Facebook. Инструмент предлагает правки для ошибок, обнаруженных системой тестирования приложений.
Принцип работы
Инструмент создан для того, чтобы инженеры тратили меньше времени на поиск ошибок в коде. Но если Getafix обнаружит проблему, решение за исправлением бага все равно остается за программистом. Нейронная сеть учится на правках, внесенных инженером ранее, и сверяет их с контекстом фрагмента кода. Затем предлагает пути исправления ошибки.
Схема работы Getafix
Программа создана специально для Facebook, но способна работать с любым сервисом или приложением. Это позволит распространить его на другие свои службы, в частности и на VR-подразделение компании.
Отличие от аналогов
Аналоги Getafix могут решать лишь базовые задачи и совсем не опираются на контекст. Инструмент Facebook способен в одной ситуации предложить разные пути решения. Это необходимо, когда требуется нерутинный способ решения проблемы, позволяющий сделать код более удобным и менее громоздким.
Пример работы Getafix с кодом
Что на практике?
Facebook проверил систему в условиях исправления 200 багов и сравнил результат ее работы с работой человека. Только четверть решений совпала с решением программиста.
Еще одна проверка с 2 тысячами багов на исправление метода нулевого указателя показала, что 53% всех багов ИИ смог обнаружить и исправить сразу.
У Facebook уже есть похожий инструмент на основе ИИ для генерирования и внедрения патчей Sapfix. ПО ищет ошибки в коде и самостоятельно генерирует и предлагает патчи для исправления неточностей. Если патч не подойдет, нейросеть будет подбирать варианты до тех пор, пока код не заработает. Решение может работать как «самостоятельно», так и в сочетании с умным тестировочным ПО Sapienz, предназначенным для поиска ошибок в коде.
См. также
Российский разработчик создал неофициальную версию Clubhouse для Android
26.02.2021 1716 VKuser24342747 0
Масштабное обновление Trello: пять новых видов досок и интеграция с Google Docs
25.02.2021 2704 user1015646 0
Видеоигра на базе нейросетевого генератора текстов стала бизнес-консультантом
25.02.2021 1653 VKuser24342747 1
В ближайшие годы возрастет потребность в персонале центров обработки данных
24.02.2021 1896 SKravchenko 0
Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования
16.02.2021 1588 user1015646 0
Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020
05.02.2021 1947 SKravchenko 2
Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19
02.02.2021 1737 capitan 3
Что нового в Chrome 88: проверка надежности паролей и поддержка профилей
01.02.2021 2205 user1015646 0
280 символов для науки: Twitter откроет доступ ученым к архиву твитов
29.01.2021 1473 VKuser24342747 1