Dr David Crocker believes software companies should do more to
ensure their products are fault-free.Software is the only
"engineering" discipline where products are produced, tested and,
as long as they seem to work, they are put to use.
If architects worked on the same principle, most buildings would
end up looking like the Leaning Tower of Pisa.
Faulty software is costing industry phenomenal sums of money. A
recent study by the National Institute of Standards and Technology
(NIST), estimated the annual cost of software bugs - to the US
economy alone - at almost £40bn.
Software bugs are having a particular impact in three major
industries: automotive, aerospace and financial services, with an
estimated total cost of £3.4bn a year. Is there any other scenario
where such costs would be accepted as a result of what are,
essentially, faulty goods?
The survey suggested that up to £15bn of these costs could be
eliminated by improved testing to remove software defects. However,
testing can only be guaranteed to uncover all bugs in the very
simplest systems. It is also a very time-consuming and unpopular
process.
With recently launched development tools, the production of
mathematically verified software is straightforward. Software
engineers can now produce proven software in popular
object-oriented languages (Java and C++) without a knowledge of
complex mathematics.
This not only guarantees quality, it makes the development process
faster and more cost effective. By mathematically proving software
systems to be correct, the sometimes endless cycle of testing,
ironing out faults, retesting, ironing out more faults, becomes
obsolete. The testing process is still important, but only as a
final check.
The process of "Write, Beta, Test, Issue and Pray" is not only
unprofessional, it is unnecessary. All consumers have a right to
purchase non-faulty goods; the software industry should not be
exempt.
Customer demand, the growing threat of legal action from bodies
such as the Organisation for Internet Security (OIS) and the Health
and Safety Executive, as well as the insurance risk of producing
bug-ridden software, will force companies to take a more
professional approach to software engineering and development.
This may start with the mission-critical market, but all developers
can gain market advantage by looking at the alternatives.
What is your view?
What can be done to ensure bug-free
software?
Tell us in an e-mail >>CW360.com reserves
the right to edit and publish answers on the Web site. Please state
if your answer is not for publication.
Dr David Crocker is managing director of software
development company Escher Technologies.