This post is intended for those who write articles and books
on the subject of creating high-quality C/C++ code or security issues.
While studying various projects with the help of the PVS-Studio static analyzer, we have gathered a relatively large database of error samples. I suppose this database will be of use and much interest to some authors.
The link to the error samples collection: http://www.viva64.com/en/examples/
The database looks quite plain and is not rich in decorations. But the samples are cut out manually and edited so that one could easily understand them.
Of course, far not all the errors detected in a certain project are added to the database. It’s difficult to understand while looking through someone else’s project whether or not there is an error in a certain code fragment. You’d better skip such fragments about which you are not sure. However, we’ve gathered a lot of examples which can be used in studying error patterns.
It has happened so that the PVS-Studio analyzer is good at detecting various misprints or Copy-Paste-related mistakes. To understand what I mean, please have a look at these error samples detected by the V501 diagnostic: http://www.viva64.com/en/examples-V501/
. There are naturally other diagnostics detecting similar errors. I’m writing this to show you the way the collection can be used. Studying misprints and Copy-Paste errors you may work out a new programming style, give useful tips, improve coding standards and so on. So, I hope you will find this collection useful in preparing your articles and books.