- PVSM.RU - https://www.pvsm.ru -
[1]С целью популяризации методологии статического анализа в целом и анализатора PVS-Studio в частности мы регулярно проверяем различные открытые проекты. Найденные в них баги отлично демонстрируют, что никто не застрахован от опечаток, невнимательности и других ошибок. Именно никто, и подтверждения тому мы находим в таких проектах, как Microsoft Code Contracts, Qt, ядро Linux, CryEngine, VirtualBox, LibreOffice, Firefox, Boost, Tor и так далее. На данный момент нами проверено 262 проекта. И вот свершилось, мы нашли и выписали в базу 10000 багов.
Как правило, когда мы находим в проекте достаточное количество ошибок, мы пишем про это статью. Со списком этих статей можно познакомиться здесь [2]. Если же находится всего несколько ошибок, мы просто сообщаем про них разработчикам проекта и продолжаем заниматься другими делами.
Конечно, 10000 ошибок на 262 проекта – это не много. Получается, что в среднем мы нашли 38 ошибок в проекте. Стоит отметить, что на самом деле это число ничего не значит. Размер и качество проектов бывает очень разным. Например, где-то мы находим только одну ошибку [3], а где-то их сотни.
Ещё важно отметить, что для популяризации статического анализа и PVS-Studio нам не нужно найти как можно больше ошибок. Нам нужно найти количество ошибок, достаточное для написания статьи. Поэтому мы всегда предлагаем авторам проектов проверить их код более тщательно. Да и вообще, разовые проверки проекта хорошо использовать для демонстрации возможностей анализатора, но пользы от них мало. Весь смысл статического анализа в его регулярном использовании. Тогда многие ошибки можно обнаруживать ещё на этапе написания кода, а не через 50 часов отладки [4] или после жалоб пользователей.
Пришло время дать ссылку на собранные ошибки:
База ошибок, обнаруженных в Open Source проектах [5]
Эта база может послужить уникальным материалом для размышлений о разработке стандартов кодирования, написания статей о правилах программирования, и помочь в других исследованиях, связанных с повышением надежности программного обеспечения. Пример: "The Last Line Effect [6]". Желаем интересных исследований.
Автор: PVS-Studio
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/pvs-studio/174940
Ссылки в тексте:
[1] Image: https://www.instagram.com/pvsstudio/
[2] здесь: http://www.viva64.com/ru/inspections/
[3] одну ошибку: http://www.viva64.com/ru/b/0420/
[4] 50 часов отладки: http://www.viva64.com/ru/b/0221/
[5] База ошибок, обнаруженных в Open Source проектах: http://www.viva64.com/ru/examples/
[6] The Last Line Effect: http://www.st.ewi.tudelft.nl/~mbeller/publications/2015_beller_zaidman_karpov_the_last_line_effect.pdf
[7] Источник: https://habrahabr.ru/post/308042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.