+7 (987) 680-29-96Оставить заявку
Профиль

Как собрать фаззер для поиска ошибок в регулярных выражениях на Rust

07 октября 2026
23
0

В старой версии библиотеки regex выражение .abb|b находило в строке zabb только b, хотя совпадала вся строка. Автор собрал фаззер, тест, который генерирует случайные входные данные, и нашёл ещё одну ошибку, прежде чем воспроизвести искомую.

В разборе с кодом автор сравнивает результаты regex и regex_lite на одинаковых выражениях и строках. Вместо огромных входных данных генерирует короткие строки, меняет набор букв и частоту операторов. Так проверяет сочетания нескольких возможностей, на которых могут возникать ошибки.

В последней версии ошибок не нашлось. Автор заранее знал искомый баг, поэтому эксперимент не доказывает превосходство случайных тестов над модульными. Зато показывает приёмы проверки алгоритмов через сравнение реализаций.

#инструменты

Источник: Telegram

Понравилась статья?
Поделитесь мыслями
Войдите, чтобы оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Перейти к сравнению