Rediff.com« Back to articlePrint this article

Bug-free software? Tests are on

September 02, 2005 12:56 IST
Rising compensation costs are forcing the Indian software industry to save costs by improving productivity.

This is being attempted by producing nearly bug (defect) free software first time round by adopting static testing. Consequently, a big market for static testing tools is rapidly opening up.

The potential market in India is currently estimated at just $1.3 million per year but it is expected to grow at a compound annual rate of 50 per cent for quite some time.

In static testing, just as the codes are developed they undergo testing, thereby reducing the bugs in the software.

Testing at the coding stage saves quality cost (the cost associated with preventing, finding and correcting defective works). These costs are huge, running up to 20-40 per cent of the sales.

"Many of these costs can be significantly reduced by static analysis at the coding stage itself. This also reduces the workload on manual testing," says L Narayanan, business development Manager (India), programming research.

Static testing has been made mandatory in the automobile industry but that is not the case in the software and defence sectors. "The software industry in India is gradually picking up the idea of static testing," adds Narayanan.

Dynamic testing is done manually and manual code inspection has always remained neglected because the code inspection process is slow and labourious and often the amount of time scheduled for code inspection does not allow them to be performed effectively.

The Software Engineering Institute of Carnegie Mellon University, which has developed the CMM (capability maturity model), foremost quality benchmark for the software industry, finds that manual testing removes only a fraction of the defects and adds that, "if you want a quality product out of test you must put a quality product into test."

On an average, 80 per cent of software failures in the field is due to the language implementation errors which could have been detected through proper inspection.

The study also found that experienced software engineers typically inject 100 defects per 1,000 lines of coding.

Independent evidence from the tests conducted by Alcatel found that increased emphasis on the code inspection stage saves both time and development cost and further saving in reduced maintenance costs.

Data from IBM also indicate that the relative cost factor for identifying defects over the life cycle of the software project is lowest when it is done at the coding process and increases as the software project goes to the testing level.

The Alcatel tests also say that with static testing the project life cycle is shortened by 30 per cent.

It also reduces the integration time by eliminating the errors detected in the early stages.

Usually when a software is developed it broadly goes through three stages -- code development, compilation and linking and dynamic testing. In the dynamic testing stage, when a bug is found the team has to re-work through the three stages to rectify.

The major disadvantage of this is the amount of time wasted, which is crucial in software development, for rectifying the error.

Arunkumar K in Bangalore
Source: source image