Only by aggressive code inspections and data testing can errors be brought even an order of magnitude lower. For further reductions, enormously expensive steps need to be taken. This means that with thousands of lines of code in computer programs, the question is not whether a program has errors but rather how many errors it has and how serious they are. This does not mean that programmers are sloppy. The problem is human information processing in general.
Human beings can do things quickly but at the cost of occasional errors.
For example, if an operator flips switches, he or she will certainly make an error about one out of every hundred times. Typing generates about the same error rate, and while experts do better than novices, they rarely do an order of magnitude better. Spreadsheeting is the second most widely used PC application, and corporate decisions often depend on numbers from spreadsheet programs. Despite this, surveys of developers show that they are not taking the steps needed to reduce errors. I am now branching out to errors in other applications, such as searching on the World Wide Web.