IBM claims to have found the way to prevent badly-written code being delivered - it gets scanned while it's still being written to pick up errors.

The IBM Rational Software Analyzer automatically scans the new code up to 700 times before an application is complete. Its operation is similar to the grammar check function in Microsoft Word. This way, errors are picked up before they make their way further into the development life cycle where fixes are far more costly.

"We unfortunately see a lot of defects in code. You really want to be able to minimise those defects. The earlier you do it in the life cycle, the less expensive it becomes," said Dave Locke, director of product marketing at Rational.

For example, Locke added, if a programmer is writing an application to most likely be used in North America, its code will likely reflect the needs of English-speaking users. But if that application also needs to support Hebrew-speaking users in Israel, changes will need to be made as to how the words are displayed, he noted.

The code's Java underpinnings have "to deal with this difference in how you handle and parse the strings or the language in the code," Locke said. Deploying an application built for English-speaking users in Israel would require spending "hundreds of thousands of dollars to go back to the program I just wrote to fix it. With Software Analyzer, rules are in the tool so errors are flagged in the first development effort versus having to go back."

When errors are flagged, programmers can click on a box to find out what the errors are and to find suggestions and sample code for fixing the problem, Locke added. The tool can also be used to flag known security weaknesses so that when a programmer mistakenly adds such security shortcomings, they can be eliminated right away, he said.

Developed by IBM Labs and built as an Eclipse plug-in, the new tool is available now. A developer edition is US$3,500 (£1,750) per user; an enterprise edition is $50,000 (£25,000) per server with unlimited users.