There are different approaches to required quality software, and we briefly recall about them. The oldest, a proven and reliable approach to finding defects is a joint code review (English code review) 1. This method is based on a shared reading code with the implementation of some rules and recommendations are well described, for example, in Steve McConnell's 'Code Complete' (Steve McConnell, 'Code Complete') 2. Unfortunately, this practice is not applicable for large-scale testing of advanced software systems due to their large size. Although this method gives the best results, it is not always used in today's life-cycle of software development, where the important point is the term development and time to market. Therefore, code review is most often reduced to the rare meetings aim is to train new and experienced staff mene writing quality code rather than checking efficiency of some modules. This is a very good way to improve the skills of programmers, but it can not be regarded as a full-fledged means of controlling the quality of your program.
To help developers are aware of the need for regular review of the code, but do not have enough time to come means of static code analysis. Their main task is to reduce the amount of code that requires attention rights, and thereby reduce the time of viewing. To static code analyzers rather large class of programs implemented for various programming languages and have a diverse range of functions, from simple control code alignment to complex analysis of potentially dangerous places.