Building a better bug-trap. (Economist, 2003)
Our civilization runs on software, Bjarne Stroustrup, a programming guru, once observed. Software is everywhere, not just in computers but in household appliances, cars, airplanes, lifts, telephones, toys and countless other pieces of machinery. The consequences of programming errors ('bugs') are becoming increasingly significant. To make matters worse, as software-based systems become more pervasive and interconnected, their behavior becomes more complex. Hence the growing interest in software tools that can analyze code as it is being written, and automate the testing and quality-assurance procedures. In short, use software to make software better. Automated-testing tools, which flag potential errors or identify inefficient code, provide metrics that can be used to monitor software development.