In mid-May this year we released an updated version of our quiz for C++ developers. It's been 2 months already — keep on reading to learn more about the results!
You've probably heard of our quiz and even passed it. Anyway, let me give you the details.
We chose several code fragments from open-source projects where the PVS-Studio analyzer found errors.
The quiz mechanics is simple, so if haven't passed it yet, go give it a try.
Well, let's move on to the most interesting part — the results.
At the time of writing, 1970 people had taken part in the quiz.
I deliberately wrote "1970 people" — this number may include students or people who are not engaged in development, but passed a quiz for the sake of interest. But still, most of the participants are C++ developers, and the more surprising is the average score of correct answers — 3.53... out of 10. A rather unexpected and slightly disappointing result.
Of course, it's safe to say that quiz is a game, and you cannot evaluate the developer's skills by its results. The fact remains, however, and the statistics of points scored are somewhat depressing.
For clarity, I made a graph that shows the distribution of participants by the number of points scored. As you can see, the hardest part is giving 6 or more correct answers.
Someone may say that we chose difficult examples and gave little time to find an error. But that's not the point.
The results of the quiz in no way mean that the developers who completed it are incompetent or inattentive. In my opinion, the reason is different. Actually, there are several reasons:
Hand on heart, I will honestly say that even some developers from our C++ team did not spot all the errors (I haven't included their results in the summary data).
Every developer is first and foremost a human being. And some of the reasons described above may well show up in their working process:
Introducing static analysis tools into the development process may help to overcome these problems.
Therefore, do not be afraid to use static code analyzers. Give developers the opportunity to fix bugs rather than wasting time searching for them. Why don't you start with the free version of PVS-Studio? By the way, those, who passed the quiz, get a promo code for a 30-day license, instead of 7-day license.
We'll try to come up with new fun activities for you to test your programming skills. In the near future, we're planning to launch a similar C# quiz. After that, we will definitely compare who is better of finding errors: C++ developers or C# developers?