Мы нашли 10000 ошибок в различных открытых проектах

Андрей Карпов
Статей: 369



С целью популяризации методологии статического анализа в целом и анализатора PVS-Studio в частности мы регулярно проверяем различные открытые проекты. Найденные в них баги отлично демонстрируют, что никто не застрахован от опечаток, невнимательности и других ошибок. Именно никто, и подтверждения тому мы находим в таких проектах, как Microsoft Code Contracts, Qt, ядро Linux, CryEngine, VirtualBox, LibreOffice, Firefox, Boost, Tor и так далее. На данный момент нами проверено 262 проекта. И вот свершилось, мы нашли и выписали в базу 10000 багов.

Picture 2

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

Конечно, 10000 ошибок на 262 проекта – это не много. Получается, что в среднем мы нашли 38 ошибок в проекте. Стоит отметить, что на самом деле это число ничего не значит. Размер и качество проектов бывает очень разным. Например, где-то мы находим только одну ошибку, а где-то их сотни.

Ещё важно отметить, что для популяризации статического анализа и PVS-Studio нам не нужно найти как можно больше ошибок. Нам нужно найти количество ошибок, достаточное для написания статьи. Поэтому мы всегда предлагаем авторам проектов проверить их код более тщательно. Да и вообще, разовые проверки проекта хорошо использовать для демонстрации возможностей анализатора, но пользы от них мало. Весь смысл статического анализа в его регулярном использовании. Тогда многие ошибки можно обнаруживать ещё на этапе написания кода, а не через 50 часов отладки или после жалоб пользователей.

Пришло время дать ссылку на собранные ошибки:

База ошибок, обнаруженных в Open Source проектах

Эта база может послужить уникальным материалом для размышлений о разработке стандартов кодирования, написания статей о правилах программирования, и помочь в других исследованиях, связанных с повышением надежности программного обеспечения. Пример: "The Last Line Effect". Желаем интересных исследований.



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;

Андрей Карпов
Статей: 369


Найденные ошибки

Проверено проектов
344
Собрано ошибок
12 970

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;