Почему находки низкой степени серьезности говорят больше о вашем аудите, чем критические ошибки Многие аудиторские фирмы сосредотачивают свои продажи на количестве найденных критических ошибок, как будто это число не является просто шумом без учета контекста: предыдущие аудиты, рецензирование коллег, уровни покрытия тестами, сложность кода, количество строк и многие другие метрики. Это самая низкая форма продаж, не отличающаяся от сравнения, например, качества USB-накопителей по их длине в миллиметрах. Чтобы показать альтернативу, мы сначала должны подтвердить правильность нескольких поддерживающих утверждений: - Вероятность случайного внедрения ошибки не имеет предвзятости в сторону более высоких последствий (разработчики не более безрассудны в коде с высокими ставками, обычно наоборот). - Те же самые комплексные методологии, используемые для обнаружения недостатков различной степени серьезности, также обнаружат проблемы высокой серьезности (обратное не верно). - Существуют гораздо более высокие требования для случайной ошибки, чтобы она квалифицировалась как высокая серьезность (часто она будет заблокирована недоступными условиями или затрагивать некритическую функциональность). - Из базовой статистики: более высокая частота выборки коррелирует с меньшим ожидаемым отклонением/вариацией и, следовательно, более точным измерением. Определим отчет об аудите как результат выборки качества кодовой базы. Мы делаем вывод, что ожидаемое истинное (без пропусков) количество критических ошибок значительно ниже, чем низких, и ожидаемое отклонение вокруг него значительно выше (из-за меньшей выборки). Другими словами, количество критических ошибок говорит нам очень мало о количестве пропущенных критических ошибок. Таким образом, удивительно, что отчет с 1 критической и 10 низкими ошибками более обнадеживающий, чем отчет с 10 критическими и 1 низкой ошибкой при прочих равных условиях. Хотя на самом деле подавляющее большинство продавцов предпочли бы показать последнее как показатель качества. Суть в том, что метрика с высокой частотой является лучшим инструментом для измерения результатов с низкой частотой. Создатели Web3, в следующий раз, когда фирмы будут показывать вам свои подсчеты критических/высоких ошибок и X миллиардов долларов, обеспеченных линией, вы знаете, на что сосредоточиться, чтобы найти истинный сигнал. Аудиторы Web3, признайте, что нет последовательной секретной формулы для нахождения всех критических ошибок без также поиска низких - каждая низкая ошибка, не полностью исследованная, является потенциальной критической - и уделяйте максимальное внимание каждой отдельной строке. Ваш клиент поблагодарит вас за это. Низкая степень серьезности определяется как конкретные ошибки в коде, которые не приводят к более высоким уровням воздействия. Не включает форматирование, лучшие практики и несущественные находки.
4,31K