Software developers are only human, which means that complex application code will include errors and bugs. This means that scanning and combing new application code for security flaws are part of virtually every software development process. But not all developers approach vulnerability discovery the same way -- and very few of them catch all of their code vulnerabilities on the first try.
The effects of coding errors can be crippling. In 2003, a bug in General Electric's monitoring software cut off power to an estimated 50 million people. More recently, Knight Capital's computers erroneously executed a series of automatic stock orders that brought the company to the edge of bankruptcy, while HTC America has had to settle a civil suit with the Federal Trade Commission after a modification to the software on its Android- and Windows-based phones introduced numerous security vulnerabilities.
The pressure to get new products ready for market imposes accelerated timetables on developers, resulting in even more mistakes. When first released, Apple's Maps app, for example, was plagued with errors, damaged Apple's reputation and cost the executive held responsible his job. (It also led to a very public apology from Apple CEO Tim Cook.)
However, while the problem of vulnerabilities in complex applications is big, that doesn't mean it can't be tackled. Organizations may never attain completely error-free nirvana, but they can certainly make it a goal. One of the keys to getting as close as possible is the tight integration of vulnerability management in the application development process.
According to recent Cambridge University research, the global cost of debugging software has risen to $312 billion annually, with software developers spending on average 50% of their programming time discussing, finding, addressing and debugging software flaws. Other, less obvious costs are associated with fixing software as well: missed and unreliable deadlines, overtime and duplicated effort, disgruntled customers, reputation damage and even legal action.
Research and the experience of companies such as Microsoft show that the most effective way to avoid these problems and keep overall development time and costs down is to minimize the number of coding errors made during development and to catch those that do occur as early as possible during the application development life cycle. The cost of discovering defects after release is up to 30 times more than when they are caught in the design and architectural phase.
To learn more about vulnerability scanning and how it can be integrated into the software development process, download the free report.
Have a comment on this story? Please click "Add a Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.