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