Страница 1 из 1

Ошибки в FreeBSD

Добавлено: 2017-04-06 12:03:26
el_programmer
Изображение

Разработчики статического анализатора PVS-Studio вновь решили проверить FreeBSD и продемонстрировать, что даже в таких серьезных и качественных проектах можно найти ошибки. О чем написали статью в своем блоге - https://www.viva64.com/ru/b/0496/. Хотя данный проект регулярно проверяется Coverity, в нем нашлось определенное количество потенциальных уязвимостей (CWE).

Как пишет автор статьи, на поиск потенциальных уязвимостей он потратил всего 2-3 часа, но оформлял статью около 3 недель. Причиной задержки послужило то, что PVS-Studio выдал огромное количество предупреждений общего назначения, с которыми надо было разбираться, проводя настройку анализатора. Большинство ложных предупреждений возникает из-за разных макросов в проверяемом проекте, которые легко убрать, используя механизмы, предусмотренные в PVS-Studio. Далее автор приводит примеры настройки инструмента с примерами.

Помимо стандартных ошибок Copy-Paste и опечаток также удалось обнаружить 56 потенциальных уязвимостей. Конечно, только немногие из найденных CWE ошибок могут превратиться в CVE (подробнее про различие CWE и CVE можно почитать тут https://www.viva64.com/ru/b/0486/). Однако, чем больше ошибок, попадающих под классификацию CWE, будет найдено с помощью статического анализа, тем лучше.

Безусловно польза статического анализатора будет лучше, если его использовать не от случая к случаю, а регулярно. Единичная проверка, подобная той, что описана в статье, может служить хорошей рекламой анализатора, но не принесёт проверенному проекту существенной пользы. Вся суть статического анализа сводится к тому, что многие ошибки можно исправить на самом раннем этапе. Дополнительно, так легче поддерживать вывод анализатора чистым и не искать ошибки среди сотен ложных срабатываний. Здесь полная аналогия с предупреждениями компилятора.

p.s. Это уже вторая проверка FreeBSD с помощью PVS-Studio. Отчет 2016 года можно посмотреть по ссылке - https://www.viva64.com/ru/b/0377/

Ошибки в FreeBSD

Добавлено: 2017-04-07 15:56:13
Alex Keda
И?

Ошибки в FreeBSD

Добавлено: 2017-04-07 18:34:31
snorlov
Я тут разговаривал с одним из программеров, на тему условия типа 1 > 1, что всегда верно и этот анализатор выдает как ошибку, не проще ли убить код, стоящий за этим условием, он мне ответил, а вдруг понадобится да и можно банально ошибиться при удалении, в результате больше времени потеряешь...

Ошибки в FreeBSD

Добавлено: 2017-04-07 19:18:58
Alex Keda
ну таки да...
у самого есть в проектах куча кода, закомментированного типа

Код: Выделить всё

if(FALSE){
..........
}
=)