Moving towards error-free software - Martyn Thomas

Martyn Thomas is visiting professor of software engineering at Oxford University Computing Laboratory. One of the few in the software community to have strong engineering credentials, he is a Fellow of the Royal Academy of Engineering (RAEng) and of both UK professional computing institutions, the British Computer Society (BCS) and the Institution of Engineering and Technology (IET)

Thomas was one of 23 leading academics who called for an independent and published review of the NHS’s £12.7bn National Programme for IT. 

He has now written a guest blog post on a report published by the Royal Academy of Engineering on 31 July 2009. “Every important IT project should be led by a Chartered Engineer or a Chartered IT professional accredited in systems engineering,” says Thomas.

This is his comment on the Academy’s report:

A report published by the Royal Academy of Engineering on 31 July raises important issues for everyone who works in the UK computer industry or who relies on its products or services.

The RAEng is the UK’s National Academy for Engineering and the report, called Engineering Values in IT, is the result of a two year study by a team drawn from the RAEng, BCS and IET.

The report concludes that strong engineering methods, based on mathematics and computer science, are now sufficiently mature to be used in developing every important software-based IT system and that this means that every important IT project should be led by a Chartered Engineer or a Chartered IT Professional accredited in systems engineering.

Every technical profession from architecture to zoology has gone through a transition from being experience-based to being science-based, with dramatic improvements in safety, productivity and cost-effectiveness. That is why we no longer have to threaten to put to death an architect who builds a house that collapses, as Hammurabi did in ancient Babylon, and why we no longer depend on barbers to carry out major surgery, as most of Europe did in the Middle Ages.

The report says that software development has now reached that time of transition, illustrating the argument as follows:

It is often argued that software, by its nature, will always contain many errors and that manufacturers and importers of software products should not be subject to the same product liability and consumer protection regimes that apply to other products.

Whilst there was some merit in this argument in the early days of the software industry, it is now possible to develop software products with very few errors and to do so cost-effectively, using science based software engineering methods.

A high level of errors is therefore no longer inevitable and should not be tolerated in software-based systems to any greater extent than they are in other engineering artefacts. See here for an example of a project attempting to create an error-free IT system. Although this is a modest system in comparison to those we are concerned with here, it is an important step towards developing complex software-based systems without errors.

It recommends that customers in industry and in the public sector require that appropriately qualified Chartered professionals should lead and manage major IT projects, and that IT professionals should aim to achieve chartered status.

For the most critical systems, involving safety or security for example, the Royal Academy of Engineering recommends that an advanced qualification should be developed, as an addition to chartered status, to show that practitioners are competent.

If this recommendation is followed to its logical conclusion, this qualification will, in effect, become a licence to practice for software engineers or systems engineers leading the most important IT projects.

The RAEng, BCS and IET do not expect these changes to occur immediately, but the report shows the direction that the computer industry must take if the UK is to maintain its leadership in software-based services, and if the huge expectations placed on future intelligent networks and autonomous systems are to be realised safety and cost-effectively.

The report can be downloaded here.

Author: Martyn Thomas CBE FREng, a member of the study team.


Professor Martyn Thomas calls for end to failing projects, delays and wastage