Why Software Often Has So Many Defects

Dr. Johannes Bohnet
Dec 3, 2014 5:11:00 PM




Why Software Often Has So Many Defects

Software permeates all areas of our lives. It triggers airbags in cars, regulates pacemakers and ensures smooth processes in power plants. Unfortunately, quality is often neglected during development.

We are all familiar with this: computers that won't start, files that close unexpectedly and cryptic system messages on the screen. Often, such incidents occur just when the PC user has installed a new program or an update. Many users are therefore rightly annoyed by software providers who abuse their customers as involuntary "testers". After all, experts estimate that these and other errors in computer programs cause billions of euros in economic damage in Germany alone.

If the Airbag Does Not Deploy

Despite the long-known and expensive consequences, we have apparently become accustomed to software products being delivered with errors. The dangerous consequences this can have were recently demonstrated by the example of General Motors: a software defect in Chevrolet vehicles is said to have cost people their lives by preventing airbags from deploying in accidents. This is the result of a petition from the American consumer protection organization Center for Auto Safety (CAS) to the U.S. National Highway Traffic Safety Administration (NHTSA).

As extreme as the example may seem, software errors have been causing problems for car drivers and manufacturers time and again for years. For example, Toyota had to recall almost two million vehicles of its Prius hybrid model worldwide due to a software error. In the Opel Insignia, a software error led to engine damage in certain models. And in the American electric car Tesla Model S, students managed to open all the doors while driving by hacking the software. But public transportation is not immune to software problems either: railroads and airplanes have already been affected, as has Lake Constance boating. Other spectacular software glitches have occurred, for example, at the U.S. health insurance program "Obamacare," at universities, banks, the U.S. stock exchange Nasdaq, and slot machines that could be emptied by pressing a certain combination of keys. The wealth of examples shows that these are not isolated incidents. On the contrary, the media coverage only shows the tip of the iceberg.

Programmed for Defects

The common cause of many errors is in the system. No developer wants to write faulty programs. But the time and cost pressure to get to market with a new product is immense. Often, they have no other option than to work with shortcuts when making last-minute changes. These so-called hacks may solve individual problems, but they inevitably provoke defects. The result is comparable to a bridge where only the asphalt and the paint are ever renewed: It looks passable, but under greater load it eventually collapses because the cracks in load-bearing parts were not detected and repaired in time. Similar to truck drivers in front of the bridge, managers who have to decide whether to (re)use a certain software cannot see its quality. They make their decisions like an engineer who has not had the opportunity to inspect the bridge on site.

When speed and cost efficiency come at the cost of software quality, serious errors are literally "pre-programmed". To prevent this, decision-makers need state-of-the-art technology for testing and evaluating software. With the help of automated analyses and easy-to-understand visualizations in the style of a software map, such tools make the quality of software visible. In this way, errors can be avoided right from the start. The tools for this are available.

Dangerous Austerity

A one-sided fixation on speed and cost reduction at the expense of quality, on the other hand, also endangers the companies and organizations themselves. Every error damages the image, keeps legal departments busy and undermines social trust in technology. And the problem will get massively worse in light of increasingly networked vehicles, products, or machines. Companies must make quality the first yardstick for successful software development. It is high time for a radical change of course in companies. So that software does what it is supposed to do: Help people.

The original article, written by Dr. Johannes Bohnet, was published in German in "Focus Money" online. It was translated into English in March 2021 by Brandon Lewis.

You May Also Like

These Stories on News