Top 10 software boo boos of 2010

SQS Software Quality Systems, a provider of independent software testing and quality management services, has compiled a list of the worst software failures of 2010.

SQS Software Quality Systems, a provider of independent software testing and quality management services, has compiled a list of the worst software failures of 2010. Paul Nelis, Director at SQS, said, "We believe that all of these examples could have been avoided through an effective quality management strategy."

1. Car Manufacturer - brake recall

Recall of two major car brands due to anti-lock brake system defect. 

2. Wrong organs removed from donors

Faulty software led to the removal of the wrong organs from 25 donors in the UK. The error originated in faulty data conversion software that was used to upload information on donation preference.

3. Government department prevents completion of online tax returns

Hundreds of people are unable to complete their tax returns online in due to a software bug that has locked users out of their online accounts. 

4. Stock Exchange

A stock exchange suffered technical glitches during the first phase of its high-profile migration to new technology; trading on its alternative trading platform starting more than an hour late as a result of the problem..

5. Software Glitch Causes Outage for Thousands of GPS Receivers

While installing software upgrades to ground control stations for a new fleet of GPS satellites, inspectors discovered a glitch in software compatibility that rendered up to 10,000 GPS receivers dark for at least two weeks.

6. Alarm Clock Bug in Mobile Phone Handset

The bug caused the handset's alarm function to stop working correctly.  When the clocks changed for Daylight saving, the time automatically updated but the alarm function did not. 

7. Year 2010 Bug Strikes Bank Cards

A faulty microchip made bank cards unreadable, as they weren't able to recognise the year 2010, causing chaos in one European country. The bug affected up to 30 million debit and credit cards.

8. Privacy Lost on Social Networking Site

Users could view what should have been private chats between their friends, as well as view their pending friend requests.

9. Unauthorised access to mobile phone handset

The bug allowed anyone to bypass the 4-digit passcode lock in order to access data on the phone. This granted unauthorised access to contacts and voicemails.

10. Phones become a remote bugging device

A smartphone user's every word could be recorded and transmitted back to a hacker. The attack (once executed) was trivial to perform.

Although there are numerous software bugs, some bugs occur more commonly and frequently cause software failures. Code samples below demonstrate how easy it is to inadvertently introduce a bug that could cause an IT system to freeze up. 

Case A:

One or more threads mutually lock each other. The most common reason for the cause of deadlocks is inconsistent locking sequence. The threads in deadlock wait for resources, which are in turn locked by some other thread [1].

The following is a small Java code fragment which can give rise to a deadlock.

Thread 1:

synchronized (A){

  synchronized (B){



Thread 2:

synchronized (B){

  synchronized (C){



Thread 3:

synchronized (C){

  synchronized (A){



Case B:

In Java, there is automatic garbage collection and streams are supposed to be closed automatically, but the timing of this 'clean up' can't be predicted. Input or output streams have to be closed whenever they are opened otherwise other processes in need of those resources may be blocked [2].

FileOutputStream fout =new FileOutputStream (" File .txt ");

// some operations

fout . close ();

/* File stream should be closed so that other processes can

now use it */


[1] Dawson Engler. Racerx: Effective, static detection of race conditions and deadlocks.



About SQS Software Quality Systems

SQS is the largest independent provider of software quality management, quality assurance and testing services in Europe. Founded in Cologne in 1982, SQS employs 1,800 staff. Along with a strong presence in Germany and the UK, SQS has further subsidiaries in Egypt, Finland, India, Ireland, the Netherlands, Norway, Austria, Sweden, Switzerland, South Africa and the US. In addition, SQS maintains a minority stake in a company in Portugal and a cooperative venture in Spain. In 2009, SQS generated sales of 134.3 million Euros.

SQS is the first German company to have a primary listing on the AIM (Alternative Investment Market) in London. In addition, SQS has a dual listing on the open market of the German Stock Exchange in Frankfurt am Main.

With over 5,000 completed projects under its belt, SQS has a strong client base, including half of the DAX 30, nearly a third of the STOXX 50 and 20 of the FTSE 100 companies. These include, among others, Allianz, Beazley, BP, Centrica, Daimler, Deutsche Post, Generali, JP Morgan, Meteor, Reuters and Volkswagen as well as companies from every other conceivable sector.

Read more on Operating systems software