Our website uses cookies to enhance your browsing experience.
Accept
to the top
close form

Fill out the form in 2 simple steps below:

Your contact information:

Step 1
Congratulations! This is your promo code!

Desired license type:

Step 2
Team license
Enterprise license
** By clicking this button you agree to our Privacy Policy statement
close form
Request our prices
New License
License Renewal
--Select currency--
USD
EUR
* By clicking this button you agree to our Privacy Policy statement

close form
Free PVS‑Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

close form
To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

close form
I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

close form
check circle
Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
>
15000 bugs in open-source projects

15000 bugs in open-source projects

May 24 2022
Author:

The number of bugs in our bug list has exceeded 15000. This is exactly the number of bugs found by the PVS-Studio team in various open-source projects. Most excitingly, our bug collection is just a by-product of writing articles.

0948_15000_errors/image1.png

Our team has been writing articles about open-source project checks since the earliest days of the PVS-Studio code analyzer. This is a great way to promote our tool. There are no meaningless marketing words — developers do not like them. There is only a clear demonstration of particular bugs in real projects.

We also make collections from the best examples found:

Articles about errors found in projects benefit everyone. We popularize the methodology of static code analysis, and developers of projects have the opportunity to fix errors in their code. By the way, the authors of open-source projects have several options to use PVS-Studio for free.

We believe that our team has greatly contributed to the development of open-source projects over the years. We have already detected more than 15,000 errors. And it's hard to imagine how many bugs the projects' authors fixed with the help of free PVS-Studio licenses. It's good to know that the PVS-Studio analyzer helped to make code of many projects more reliable and safer.

We carefully add all the errors that we find to the bug list. You can find it here.

This collection of bugs can serve as a resource for various studies. So, I suggest that authors who write books and articles about code quality pay attention to the collection. For example, we have already noticed and described some patterns:

Recently, we came up with another way to use our bug collection. We created a quiz for programmers, where you need to quickly find an error in a code fragment.

0948_15000_errors/image2.png

Here is a challenge for you: test your attentiveness when searching for a bug!

We will give you several code fragments with errors detected by the analyzer. If you manage to find them in under 60 seconds, you will score one point. Code fragments are short, so the 60-second limit is quite enough to find the errors. Enjoy and share the link with your teammates :)

P.S. People started asking questions, 'Where is the error in the code shown in the picture?'. The thing is that whether the code will work depends on the order in which the function arguments are evaluated. The context pointer can be null because the CreateSnapshotFile function takes arguments by value. This topic is complicated and is full of subtleties. If you want to understand better why the pointer might be null, we invite you to read the following article: "The code analyzer is wrong. Long live the analyzer!". The article describes a similar case and shows that GCC and Clang compilers generate different code.

Additional links

Popular related articles


Comments (0)

Next comments next comments
close comment form