Здесь собраны статьи с описанием ошибок, которые мы нашли, проверяя различные проекты.
Мы хорошо относимся к бесплатным open-source проектам. Мы стараемся уведомить авторов проектов о найденных недочётах и при необходимости предоставляем им на время лицензию.
Список open-source проектов для Windows и Linux на языках C, C++ и C#, проверенных к настоящему времени с помощью PVS-Studio:
Операционные системы
Проекты Microsoft
Браузеры
- Проверка Chromium (май 2011), вторая проверка (октябрь 2011), третья проверка (август 2013), четвертая проверка (декабрь 2013), пятая проверка (октябрь 2016), шестая проверка: введение, часть 1, часть 2, часть 3, часть 4, часть 5, часть 6, часть 7 (январь 2018).
- Проверка Firefox (декабрь 2011), вторая проверка (июнь 2014)
Разработка игр
Компиляторы
Языки программирования
Разработка
Библиотеки
Работа с графикой
Работа со звуком
Мессенджеры
Разное
- Проверка FastReport (ноябрь 2018)
- Проверка NCBI Genome Workbench (ноябрь 2018)
- Проверка LibreOffice (март 2015), вторая проверка (октябрь 2018)
- Проверка 0 A.D. (август 2018)
- Проверка "Вангеры" (июль 2018)
- Проверка System Shock (июль 2018)
- Проверка Subtitle Edit (март 2018)
- Проверка ClickHouse (сентябрь 2017)
- Проверка Notepad++ (ноябрь 2010), вторая проверка (февраль 2012), третья проверка (июнь 2017)
- Проверка MediaPortal (март 2017)
- Проверка Far Manager for Linux (февраль 2017)
- Проверка Umbraco (ноябрь 2015), вторая проверка (декабрь 2016)
- Проверка Orchard CMS (ноябрь 2016)
- Проверка Grub (сентябрь 2016)
- Проверка Apache HTTP Server (июль 2011), вторая проверка (сентябрь 2016)
- Проверка ReOpenLDAP (август 2016)
- Проверка NASA World Wind (август 2016)
- Проверка Geant4 (ноябрь 2013), вторая проверка (июль 2016)
- Проверка 7-Zip (июнь 2016)
- Проверка Firebird (февраль 2014), вторая проверка (май 2016)
- Проверка Samba (апрель 2016)
- Проверка плагина PVS-Studio (март 2016)
- Проверка Oracle VM VirtualBox: часть 1, часть 2 (сентябрь 2014), вторая проверка (март 2016)
- Проверка Wine (август 2014), вторая проверка (октябрь 2015)
- Проверка FreeSWITCH (октябрь 2015)
- Проверка Mozilla Thunderbird (сентябрь 2015)
- Проверка Intel Galileo UEFI (май 2015)
- Проверка Vim (март 2015)
- Проверка KDE (сентябрь 2014)
- Проверка Asterisk (август 2014)
- Проверка Bitcoin (июль 2014)
- Проверка Tesseract (май 2014)
- Проверка WinSCP (апрель 2014)
- Проверка μManager (март 2014)
- Проверка PostgreSQL (декабрь 2013)
- Проверка OpenMS (сентябрь 2013)
- Проверка Trans-Proteomic Pipeline (август 2012), вторая проверка (сентябрь 2013)
- Проверка NetXMS (май 2013)
- Проверка Tor (ноябрь 2012)
- Проверка MAME (июль 2012)
- Проверка WinMerge (октябрь 2010), вторая проверка (март 2012)
- Проверка Dolphin-emu (февраль 2012)
- Проверка Ultimate Toolbox (декабрь 2010)
- Проверка Fennec Media Project (ноябрь 2010)
- Разные мелкие проекты, о которых не было написано статей.
Наша команда проверяет проекты не безвозмездно. Заметки о найденных ошибках являются рекламой для нас. Мы этого не скрываем. Но, мне кажется, это самая полезная реклама, которую вы когда-либо видели! PVS-Studio действительно помогают open-source сообществу.
Возможно, вы заметите, что приведённые статьи сильно различаются по объему. Это объяснимо. Например, при написании первой статьи про ReactOS, в анализаторе было реализовано гораздо меньше правил, чем при второй проверке. За это время, анализатор научился находить в несколько раз больше ошибок. Так что подобные статьи будут становиться со временем всё длиннее. Теперь нам приходится пропускать множество неубедительных ошибок, чтобы не превращать статью в справочник.
На нашем сайте мы также ведем базу найденных ошибок. Думаю, многим из читателей будет любопытно побродить по ней. Но гораздо интересней, что эту базу можно использовать как ресурс для выработки стандартов кодирования, новых рекомендаций в книгах и статьях по программированию. В общем, эта база ждет своего Макконнелла, который сможет вырастить из этого книгу в духе "100 рекомендаций, как не сесть в лужу".