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

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

![0421_10000_bugs_in_various_open_source_projects_ru/image1.png](https://import.viva64.com/docx/blog/0421_10000_bugs_in_various_open_source_projects_ru/image1.png)

Как правило, когда мы находим в проекте достаточное количество ошибок, мы пишем про это статью\. Со списком этих статей можно познакомиться [здесь](https://pvs-studio.ru/ru/blog/inspections/)\. Если же находится всего несколько ошибок, мы просто сообщаем про них разработчикам проекта и продолжаем заниматься другими делами\.

Конечно, 10000 ошибок на 262 проекта – это не много\. Получается, что в среднем мы нашли 38 ошибок в проекте\. Стоит отметить, что на самом деле это число ничего не значит\. Размер и качество проектов бывает очень разным\. Например, где\-то мы находим только [одну ошибку](https://pvs-studio.ru/ru/blog/posts/csharp/0420/), а где\-то их сотни\.

Ещё важно отметить, что для популяризации статического анализа и PVS\-Studio нам не нужно найти как можно больше ошибок\. Нам нужно найти количество ошибок, достаточное для написания статьи\. Поэтому мы всегда предлагаем авторам проектов проверить их код более тщательно\. Да и вообще, разовые проверки проекта хорошо использовать для демонстрации возможностей анализатора, но пользы от них мало\. Весь смысл статического анализа в его регулярном использовании\. Тогда многие ошибки можно обнаруживать ещё на этапе написания кода, а не через [50 часов отладки](https://pvs-studio.ru/ru/blog/posts/cpp/0221/) или после жалоб пользователей\.

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

[База ошибок, обнаруженных в Open Source проектах](https://pvs-studio.ru/ru/blog/examples/)

Эта база может послужить уникальным материалом для размышлений о разработке стандартов кодирования, написания статей о правилах программирования, и помочь в других исследованиях, связанных с повышением надежности программного обеспечения\. Пример: "[The Last Line Effect](https://inventitech.com/assets/publications/2015_beller_zaidman_karpov_the_last_line_effect.pdf)"\. Желаем интересных исследований\.