Myths about static analysis. The fifth myth – a small test program is enough to evaluate a tool

This is how this statement looks in discussions on forums (this is a collective image):

I’ve written a special program, its size is 100 code lines. But the analyzer doesn’t generate anything although all the warning levels are enabled. This [tool of yours] / [static analysis] in general is just rubbish.

Continue reading

Myths about static analysis. The third myth – dynamic analysis is better than static analysis

The statement is rather strange. Dynamic and static analyses are just two different methodologies which supplement each other. Programmers seem to understand it, but I hear it again and again that dynamic analysis is better than static analysis.

Let me list advantages of static code analysis.

Continue reading

6 Specific Ways to Find Programming Mentors

Finding experienced mentors and peers might be the most important thing you can do if you want to become a great programmer. They will tell you what books to read, explain the pros and cons of different languages, demystify anything that seems to you like “magic”, help you when you get in a jam, work alongside you to produce great things people want, and challenge you to reach new heights.


Continue reading

The eight secrets of successful programmers

What makes a programmer go to work every day? It is definitely the love for coding and getting pleasure from high quality code. But if a programmer really wants to enjoy coding and appreciation of colleagues, he needs to know some basic things. The author of this article shares secrets of a successful programmer that may be useful for you in the future.

Continue reading

Review of contemporary C/C++ static code analyzers

In this article, I’ll try to assess the current situation concerning static analysis of C/C++ code. This study has a slightly philosophical character and in no way claims to be absolutely complete and objective. There also won’t be any discussions of which analyzer is better. Such comparisons are usually a pointless action: there will always be people who disagree with the chosen methodology or suspect the researcher in being biased. To do the research, I’ll try to take the list of popular contemporary analyzers of C/C++ code (for example, from Wikipedia) and understand, which tools don’t already fit there and if there is a need to add something there.

image1

Continue reading