Вопросы, поставленные на исследование
Какой механизм (последовательность действий, алгоритм по решению конкретной задачи) отражён в исследуемой программе?
Каков принцип работы фильтрации в исследуемом программном обеспечении?
Какой формат данных должен применяться к фильтру «Список номеров» при формировании информационной рассылки для получения ожидаемого результата?
Соответствовал ли фактически применённый формат значений необходимому для достижения ожидаемого результата?
Каковы последствия использования пользователем неверного формата ввода номера?
Имеется ли причинная связь между вводом некорректных значений и рассылкой сообщений всем участникам программы?
Предусмотрена ли логикой работы фильтра реакция программы при вводе некорректной информации в «Список номеров»?
Вносились ли изменения в работу фильтра в программный код модуля после официального ввода системы в эксплуатацию?
Где расположен репозиторий исходного кода исследуемого программного обеспечения и допускает ли архитектура системы внесение изменений без их фиксации в репозитории?
Результаты исследования
Проведённая экспертиза показала, что механизм работы фильтрации в исследуемом программном обеспечении имеет ряд особенностей, напрямую влияющих на корректность выполнения рассылок. Было установлено, что программа игнорирует некорректный ввод данных без предупреждения пользователя, что способно привести к массовой отправке сообщений не тем адресатам. Анализ кода позволил выявить признаки внесения изменений в модуль фильтрации уже после ввода системы в промышленную эксплуатацию, что подтверждает доработки логики работы без достаточной фиксации и прозрачности. Кроме того, отсутствие чёткой документации по формату данных делает работу с системой рискованной: любое отклонение от ожидаемого формата номеров ведёт к нарушению работы фильтров и рассылки.
Экспертиза выявила причинно-следственную связь между некорректным вводом данных и ошибками в рассылках, а также подтвердила, что архитектура системы позволяет модифицировать код, что влечёт дополнительные риски при эксплуатации. Таким образом, проведённый анализ наглядно демонстрирует, как даже небольшие недочёты в логике фильтрации могут повлечь масштабные последствия и стать предметом спора между заказчиком и разработчиком.