What are some famous bugs in the computer science world?


1.The $370 million dollar Ariane 5 crash.

The Ariane 5 is a rocket, the successor of the Ariane 4, used by the European Space Agency to launch spacecrafts.
Integer overflow ended up causing it to crash on its maiden voyage resulting in a loss of $370 million.
Integer overflow is a very common bug. It happens when you try to fit a number larger than the biggest number the memory allocated for it can store.
For example, if you allocate four boxes of memory, the largest number you can store is 9999. If you try and store, say, 10,000 in those four boxes, an integer overflow will occur.
Like the device below, which adds 1 to the current number whenever you press the button. What happens when you get to 9999 and press the button? It overflows and resets to 0000.

The $370 million dollar Ariane 5 crash.

2. My favorite famous bug is the "1978's Space Invaders invents difficulty level curve" story, one that revolutionized the gaming industry at the time.


My favorite famous bug is the "1978's Space Invaders invents difficulty level curve" story, one that revolutionized the gaming industry at the time.


The TL;DR on the story is that at the time, the hardware was not powerful enough to run the game. So the sole developer, Tomohiro Nishikado had to develop his own hardware to run the game.
After he was done, Nishikado found out that the hardware still isn't powerful enough but play-tested anyways since the were too many elements (Aliens) on the screen which caused them to move at a very slow and steady pace.
What he did find out eventually is that as the game progresses, more memory is being freed by the fact that there are less aliens on screen which made them move faster, which made space invaders the challenging fun, super arcade hit it was.

3. A moth is literally the first and best known bug on computer science world.

A moth is literally the first and best known bug on computer science world.


Everybody have heard of a version of the story that the computer used by Grace Hopper failed some functions. To be exact, Grace Hopper logged this error at 3:45 PM on 9 September 1947.
Then her team found out that exact reason of the computer malfunction was moths messing with the circuits of the computer.
A moth is literally the first and best known bug on computer science world.


4. When Gangnam Style broke YouTube!

Back when YouTube was first developed, nobody thought a video would surpass two billion views, or more specifically, 2,147,483,647 views, which is the maximum value for a 32-bit signed integer, used to represent the view count at the time.
Along came Gangnam Style, the hit song by Korean pop star Psy, and as soon as the maximum value was exceeded we got this:

When Gangnam Style broke YouTube!


This happened because a signed integer "wraps arounds" (treated as two's complement), that is, the value immediately succeeding the maximum positive value is actually the minimum negative value, and in this case -2,147,483,648.
Google has since changed the view count to a 64-bit signed integer, so we should be safe until the next 9,223,372,036,854,775,807 + 1 views.

5. Mars Pathfinder (Priority Inversion Bug):

Mars Pathfinder (Priority Inversion Bug)

Mars Pathfinder (1997) was NASA's first successful attempt to put a vehicle on Mars since the Vikings missions in 1976. It was a proof-of-concept mission to prove that a "faster, better, cheaper" spacecraft was possible. The mission cost only one fifteenth the cost of one Viking mission.
Shortly after the rover landed on Mars, it began sporadically missing deadlines, causing system resets and loss of data. By examining traces, ground engineers identified the problem in the operating system software's scheduler. It was the classic case of Priority inversion wherein high priority processes are starved in favor of low priority ones. That's what caused the rover to frequently miss deadlines.
The bug sneaked through preflight testing because as is the case with concurrent programming bugs, they are non-deterministic. In this case, the bug would only surface in rare unanticipated heavy-load conditions.
Priority Inheritance is a well known technique used to handle Priority Inversion. Fortunately, Wind River, the company that had designed the operating system had already baked in this technique. The engineers only had to toggle a boolean global variable to switch it on which promptly fixed the issue.

Source: Quora
Contributor: This Article is Contributed by Nitin Kumar. If you would like to contribute, you can also write an article and mail your article to CIQAGeeks@gmail.com. 

Comments