Facebook разработала SapFix, инструмент для генерирования и внедрения патчей
Новости Отредактировано
SapFix может работать сам по себе либо в сочетании с Sapienz — это «умное» тестировочное ПО от Facebook для поиска ошибок в коде.
1К открытий1К показов
На конференции @Scale 2018 Facebook представила свою новую разработку — инструмент на основе искусственного интеллекта, который самостоятельно находит в проекте баги и предлагает готовые патчи. SapFix может работать сам по себе либо в сочетании с Sapienz — это «умное» тестировочное ПО от Facebook для поиска ошибок в коде.
Порядок работы SapFix
Чтобы исправить баг, система частично или полностью «откатывает» ту часть кода, которая ее вызывает. Для решения наиболее сложных проблем SapFix обращается к базе готовых шаблонов, созданных людьми, и подбирает нужное из них. Если шаблон не подходит, система модифицирует его до тех пор, пока код не заработает.
Определившись с конкретным патчем, SapFix генерирует несколько потенциальных решений для каждого бага и оценивает их качество по трем параметрам:
- вызывает ли оно ошибки компиляции;
- продолжаются ли сбои;
- вызывает ли решение новые сбои.
Чтобы определить последние два параметра, система прогоняет модифицированные сборки по существующим тестам, а также по тем, что созданы Sapienz. Это процесс автоматический, но протекает изолированно от остального кода. SapFix не запустит код в продакшн, пока его не проверят разработчики-люди.
По словам создателей системы, это очень похоже на существующий процесс отладки. Однако SapFix может автоматически реагировать на обратную связь, внедрять одобренные патчи и удалять остальные. В некоторых случаях система даже предложит лучшие из имеющихся вариантов и предоставит разработчикам рекомендации.
Развитие инструмента
Facebook пока еще дорабатывает эту технологию, поэтому не рекомендует ее применять в тех же масштабах, что и Sapienz. Однако команда разработчиков доложила, что в процессе тестирования инструмента, с августа 2018 года, система SapFix уже успешно создала и внедрила несколько патчей.
Компания заявила, что намерена в будущем, когда разработка завершится, открыть код обоих инструментов.
Технологию Sapienz Facebook представила в мае 2018 года на конференции F8, но для тестирования Android-клиента Facebook ее применяли с осени 2017 года. По словам разработчиков, система уменьшает время на исправление ошибок до нескольких часов и даже минут.
1К открытий1К показов