Google выпустила инструмент для поиска багов в коде Python

Обсудить
Google выпустила инструмент для поиска багов в коде Python

Корпорация Google представила новое программное обеспечение для тестирования Python-кода с помощью техники фаззинга. Программа получила название Atheris. 

Новинка нужна для автоматического поиска ошибок в коде Python и нативных расширений. Atheris будет без конца посылать различные данные в приложение, наблюдать за его поведением и пробовать более специфичные параметры.

Фаззинг – это методика тестирования программ с помощью передачи ей случайных данных. Обычно ее используют для тестирования кода С и С++.

Один из ключевых сценариев использования фаззеров – поиск разницы в поведении двух библиотек, призванных выполнять одну и ту же задачу. К примеру, пакеты idna и libidn2 нужны для преобразования интернационализированных доменных имен, но, судя по данным из Atheris, они не всегда выдают один и тот же результат. По словам разработчиков, Atheris лучше всего проявит себя на чистом Python-коде. И только в том случае, когда вы можете четко указать, какой результат выполнения кода правильный, а какой нет.

Новый фаззинг-движок поддерживает Python 2.7 и Python 3.3 (и новее). Создатели Atheris рекомендуют использовать версию 3.8 и новее, чтобы добиться наилучших результатов. Atheris имеет открытый исходный код и распространяется бесплатно. Его в скором времени можно будет использовать на платформе OSS-Fuzz, которую Google использует для тестирования кода других приложений.

Atheris доступен для загрузки из соответствующего репозитория

Комментарии

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