"Bugs" vs. "defects" in software

Errors in software have been called "bugs" since at least the 1940s, when Admiral Grace Hopper discovered a moth stuck in a mechanical relay in an early computer at Harvard University. The term has stuck, with a vengeance. Now even end users of software refer to misbehaving software as "buggy" or worse as "bugged."

I dislike the term bug.  To me, the word bug makes it sound like the error crept into the software from the outside. The code was fine, until the bugs got to it. Or worse, it sounds like the software spoiled somehow—we left it on the shelf too long and it got "buggy". But software doesn't work that way. Computers are highly deterministic. If the software misbehaves, to a first, second, and third approximation it's because the programmer made a mistake. It might be an excusable mistake—software is incredibly complex and can be hard to understand. An innocuous change in module A can cause a catastrophic failure in module B. But the fact remains that software misbehaves because its creators screwed up.

I prefer the term "defect". It's used in more traditional manufacturing settings. Your car's brakes might fail prematurely because of a manufacturing defect. Or they might wear out too quickly due to a design defect. In both cases we think of human culpability for the mistake, not some external force introducing "bugs" into the brakes. Then we can ask questions like "what is the root cause of this defect?" or "why is our software so prone to defects we don't detect?"

It's OK to make mistakes. It's OK to have software with defects. But we should call them what they are, signs of system complexity and human fallibility.

Comments

  1. I prefer the term "defect", as well, but sometimes I refer to them as "undocumented features."

    ReplyDelete
  2. Agreed that "defect" is more accurate, but "bug" is much easier to say. "Defect" looks like it's murder to type on a Qwerty keyboard, too. Find a better one-syllable word and I'm sold. :-P

    ReplyDelete
  3. There's always "error". That at least gets you one character on the right hand. Hmm. "Def" pronounced deef? Ooh, how about "flaw"? :-)

    ReplyDelete

Post a Comment

Popular posts from this blog

How to set up a Chromecast with a Logitech Harmony Remote

Replacing the spray arm on a Frigidaire Gallery dishwasher

Misophonia: white noise with remote microphone for school use