Warning: include(/volume1/web/cyberhost.biz/wp-content/plugins/jaster_cahce/cache/top-cache.php): failed to open stream: No such file or directory in /volume1/web/cyberhost.biz/index.php on line 9 Call Stack: 0.0000 356272 1. {main}() /volume1/web/cyberhost.biz/index.php:0 Warning: include(): Failed opening '/volume1/web/cyberhost.biz/wp-content/plugins/jaster_cahce/cache/top-cache.php' for inclusion (include_path='.:/usr/share/pear') in /volume1/web/cyberhost.biz/index.php on line 9 Call Stack: 0.0000 356272 1. {main}() /volume1/web/cyberhost.biz/index.php:0 Мы нашли 10000 ошибок в различных открытых проектах | Хостинг за 90 р. от cyberhost.biz — платный хостинг
+7 993 930-19-90 suport@cyberhost.biz

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

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

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

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

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

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

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

Warning: include(/volume1/web/cyberhost.biz/wp-content/plugins/jaster_cahce/cache/bottom-cache.php): failed to open stream: No such file or directory in /volume1/web/cyberhost.biz/index.php on line 13 Call Stack: 0.0000 356272 1. {main}() /volume1/web/cyberhost.biz/index.php:0 Warning: include(): Failed opening '/volume1/web/cyberhost.biz/wp-content/plugins/jaster_cahce/cache/bottom-cache.php' for inclusion (include_path='.:/usr/share/pear') in /volume1/web/cyberhost.biz/index.php on line 13 Call Stack: 0.0000 356272 1. {main}() /volume1/web/cyberhost.biz/index.php:0