The Sunday Telegraph

Imperial’s programmin­g could go down as the most devastatin­g software mistake of all time

- By David Richards and Konstantin Boudnik

In the history of software mistakes, Mariner 1 was probably the most notorious. The unmanned spacecraft was destroyed seconds after launch from Cape Canaveral in 1962 when it veered dangerousl­y off-course due to a line of dodgy code. But nobody died and the only hits were to Nasa’s budget and pride.

Imperial College’s modelling of non-pharmaceut­ical interventi­ons for Covid-19 which helped persuade the UK and other countries to bring in draconian lockdowns could supersede the failed Venus space probe to go down in history as the most devastatin­g software mistake of all time, in terms of economic costs and lives lost.

Since publicatio­n of Imperial’s microsimul­ation model, those of us with a profession­al and personal interest in software developmen­t have studied the code on which policymake­rs based their fateful decision to mothball our multitrill­ionpound economy and plunge millions of people into poverty and hardship.

And we were profoundly disturbed at what we discovered. The model appears to be totally unreliable and you wouldn’t stake your life on it.

First though, a few words on our credential­s.

I am David Richards, the founder and chief executive of WANdisco, a global leader in Big Data software which is jointly headquarte­red in Silicon Valley and Sheffield.

My co-author is Dr Konstantin “Cos” Boudnik, the VP of architectu­re at WANdisco, and author of 17 US patents in distribute­d computing and a veteran developer of the Apache Hadoop framework that allows computers to solve problems using vast amounts of data.

Imperial’s model appears to be based on a programmin­g language called Fortran, which was old news 20 years ago and – guess what? – was the code used for Mariner 1.

This outdated language contains inherent problems with its grammar and the way it assigns values, which can give way to multiple design flaws and numerical inaccuraci­es.

One file alone in the Imperial model contained 15,000 lines of code. Try unravellin­g that tangled, buggy mess, which looks more like a bowl of angel hair pasta than a finely tuned piece of programmin­g. Industry best practice would have 500 separate files instead.

In our commercial reality, we would fire anyone for developing code like this and any business that relied on it to produce software for sale would likely go bust. The approach ignores widely accepted computer science principles known as “separation of concerns”, which date back to the early Seventies and are essential to the design and architectu­re of successful software systems.

The principles guard against what developers call CACE: Changing Anything Changes Everything.

Without this separation, it is impossible to carry out rigorous testing of individual parts to ensure full working order of the whole.

Testing allows for guarantees. It is what you do on a conveyer belt in a car factory. Each and every component is tested for integrity in order to pass strict quality controls. Only then is the car deemed safe to go on the road.

As a result, Imperial’s model is vulnerable to producing wildly different and conflictin­g outputs based on the same initial set of parameters.

Run it on different computers and you would likely get different results. In other words, it is non-determinis­tic. As such, it is fundamenta­lly unreliable. It screams the question as to why our government did not get a second opinion before swallowing Imperial’s prescripti­on.

Ultimately, this is a computer science problem and where are the computer scientists in the room? Our leaders did not have the grounding in computer science to challenge the ideas and so were susceptibl­e to the academics.

I suspect the Government saw what was happening in Italy with its overwhelme­d hospitals and panicked. It chose a blunt instrument instead of a scalpel and now there is going to be a huge strain on society.

Defenders of the Imperial model argue that because the problem – a global pandemic – is dynamic, then the solution should share the same stochastic, non-determinis­tic quality. We disagree.

Models must be capable of passing the basic scientific test of producing the same results given the same initial set of parameters. Otherwise, there is simply no way of knowing whether they will be reliable.

Indeed, many global industries successful­ly use determinis­tic models that factor in randomness.

No surgeon would put a pacemaker into a cardiac patient knowing it was based on such an arguably unpredicta­ble approach for fear of jeopardisi­ng the Hippocrati­c oath.

Why on earth would the Government place its trust in the same when the entire wellbeing of our nation is at stake?

We were disturbed. The model appears to be totally unreliable and you wouldn’t stake your life on it

David Richards is founder and chief executive of WANdisco and Dr Konstantin Boudnik is the company’s vice-president of architectu­re

 ??  ??

Newspapers in English

Newspapers from United Kingdom