All we hear from time to time about vulnerabilities in software that allow people to organize botnety nasty, get control of servers and banks to write off from the accounts of unsuspecting ordinary person and then earned blood money ... Vulnerabilities - is, of course, an integral attribute of any software. But what they found? And, more importantly, by whom? In general, if there is a program without mistakes, they are so simple in structure, that the user is not interested. Where the number of lines of code exceeds one program (which is written something like "printf (" Hello World !");"), appears and place for a variety of bugs, vulnerabilities and other unclean, which zagovarivayut program programmers yes testers. There are, of course, some ideas on how to reduce the number of errors in the software, where this is particularly critical. Think programming language Ada, functional programming, development through testing (test-driven develop-ment) ... Only special ...