It contains articles describing the errors that were discovered by analyzing different open-source projects.
We care about open-source projects. We notify projects' authors about found defects and help them to configure the analyzer for checking their code. We also provide a free license option of PVS-Studio for those who develops open-source projects.
A list of open-source projects for Windows, Linux and macOS, written in C, C++, C# and Java languages, so far checked using PVS-Studio:
Operating systems
Microsoft projects
Web Browsers
- Chromium analysis (May 2011), second analysis (October 2011), third analysis (August 2013), fourth analysis (December 2013), fifth analysis (October 2016), sixth analysis: introduction, part 1, part 2, part 3, part 4, part 5, part 6, part 7 (January 2018).
- Firefox analysis (December 2011), second analysis (June 2014)
GameDev
Compilers
Programming languages
Development
Libraries
Graphics
Music Software
Messengers
Other projects
- ROOT analysis (October 2019)
- Orchard CMS analysis (November 2016), second analysis (October 2019)
- Telegram Open Network analysis (October 2019)
- Celestia analysis (October 2019)
- Mozilla Thunderbird analysis (September 2015), second analysis (September 2019)
- Apache Dubbo analysis (August 2019)
- PPSSPP analysis (August 2019)
- Apache Hive analysis (August 2019)
- Yuzu analysis (August 2019)
- LXC analysis (June 2019)
- Cataclysm: Dark Days Ahead analysis (April 2019)
- Wireshark analysis (June 2015), second analysis (April 2019)
- Elasticsearch analysis (March 2019)
- SpeedCrunch analysis (March 2019)
- FreeRDP analysis (March 2019)
- Qalculate! analysis (March 2019)
- FastReport analysis (November 2018)
- NCBI Genome Workbench analysis (November 2018)
- LibreOffice analysis (March 2015), second analysis (October 2018)
- 0 A.D. analysis (August 2018)
- Vangers: One for the Road analysis (July 2018)
- System Shock analysis (July 2018)
- Subtitle Edit analysis (Match 2018)
- ClickHouse analysis (September 2017)
- Notepad++ analysis (November 2010), second analysis (February 2012), third analysis (June 2017)
- MediaPortal analysis (March 2017)
- Far Manager for Linux analysis (February 2017)
- Umbraco analysis (November 2015), second analysis (December 2016)
- Grub analysis (September 2016)
- Apache HTTP Server analysis (July 2011), second analysis (September 2016)
- ReOpenLDAP analysis (August 2016)
- NASA World Wind analysis (C#) (August 2016)
- Geant4 analysis (November 2013), second analysis (July 2016)
- 7-Zip analysis (June 2016)
- Firebird analysis (February 2014), second analysis (May 2016)
- Samba analysis (April 2016)
- PVS-Studio Plugin analysis (March 2016)
- Oracle VM VirtualBox analysis: part 1, part 2 (September 2014), second analysis (March 2016)
- Wine analysis (August 2014), second analysis (October 2015)
- FreeSWITCH analysis (October 2015)
- Intel Galileo UEFI analysis (May 2015)
- Vim analysis (March 2015)
- KDE analysis (September 2014)
- Oracle VM VirtualBox analysis: part 1, part 2 (September 2014)
- Asterisk analysis (August 2014)
- Bitcoin analysis (July 2014)
- Tesseract analysis (May 2014)
- WinSCP analysis (April 2014)
- μManager analysis (March 2014)
- PostgreSQL analysis (December 2013)
- OpenMS analysis (September 2013)
- Trans-Proteomic Pipeline analysis (August 2012), second analysis (September 2013)
- NetXMS analysis (May 2013)
- Tor analysis (November 2012)
- MAME analysis (July 2012)
- WinMerge analysis (October 2010), second analysis (March 2012)
- Dolphin-emu analysis (February 2012)
- Ultimate Toolbox analysis (December 2010)
- Fennec Media Project analysis (November 2010)
- Various small projects we didn't write about.
It's not entirely without any reward that we analysis all these projects. The reports we publish serve as an advertisement for our tools and our company. We make no secret of it. But I believe it's the best advertisement you've ever seen! PVS-Studio does help the open-source community.
You may notice that the above mentioned articles are very different in size. Well, there is an explanation to that. For example, when writing the first article about ReactOS, our analyzer had much fewer diagnostic rules than at the time of the second analysis. Within the time period between the two analysiss, the tool has learned to find several times more bugs. Because of that, our articles reporting analysis results will only grow larger in time. Now we have to skip numerous bugs that don't look too impressive and convincing in order not to turn an article into a reference book.
We also keep a bug database at our website. I think many of you will find it interesting wandering about it. But what's most interesting, you can use it as a resource to work out coding standards and new recommendations for textbooks and articles on programming. It is now waiting for its McConnell to come and use it as soil to raise a book of the "50 Tips on How Not to Drop a Clanger" style.