Talk:Software bug

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing  
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Explain what a bug is[edit]

This page doesn't clearly explain what a bug is or why anyone would care.

When a computer program doesn't work right, that's a bug. It could be design error or coding error, but the user doesn't know or care about this distinction. The answers are coming out wrong, or a feature just plain won't work.

We could list typical causes of bugs, as well as remediation efforts or strategies to prevent bugs arising in the first place.

Most people have a strong knowledge of what a bug is. It is one phenomenon, where if you see a broom, you know it's a broom. However, rules of Wikipedia are strict - no original research or opinions. Therefore, (ignoring that it should be a dictionary rather than a wikipedia entry) you cannot place an entry "broom" into Wikipedia unless you reference a book (or dictionary) describing what a broom is. (But then Google set up Knol as alternative to solve the issue).
In my less than humble opinion, a bug is either one or more of
  • An intended feature with clearly obvious unintended or misbehaving results.
  • An unintended feature that does not behave desirably.
  • An unintended feature that unexpectedly provides a behaviour 80% of users have been clamouring for, but the other 20% dislike the behaviour.
  • An intended feature that behaves as expected, but the intended behaviour causes serious problems because the bug was started by architects at the planning stage.
  • An undesirable or unintended feature, on which the architects and programmers backpedal and document as a feature.
  • An intended feature, but expectation changed as the years went by and is now no longer a desirable behaviour. Architects and programmers prefer to define these as "needs for enhancement" and would not classify it as a bug. Regardless, a user knows a bug when he/she sees one.
  • a bug is usually a defect occurs in the application and those has been accepted by the developer —Preceding unsigned comment added by (talk) 10:31, 25 August 2010 (UTC)
Therefore architects, programmers and users do not concur on what a bug is. However, in any event any uprising rebellion by users is successful - a bug is simply a feature a user does not want or no longer wants because the feature is bugging the user.
Hence Jewish Anderstein (talk) 09:55, 28 September 2008 (UTC)

I pretty much agree. See my rant below. How this article has survived so long amazes me. Softtest123 (talk) 03:37, 15 May 2012 (UTC)
I also agree that a bug can be intentional. Unlike a glitch, which is always unintended by the devloper(s), a bug is defined by the end users. Therefore, a developer's opinion or intentions are irrelevant. The, "That's not a bug. That's a feature" argument has always frosted my bum like a three-foot snow cone. That would be like if someone says, "When you tripped and fell, you accidentally stabbed that woman to death," and I responded with, "That wasn't an accident. I killed her on purpose." It just drives me crazy that developers would sit there and tell you with a straight face that they intended to annoy you, and they're not going to change it because annoying you is exactly what they wanted to do. The correct response would be, "I'm sorry. I thought that would be a feature you'd like. I'll fix that bug as soon as possible." I'm also pretty sure that, with the exception of software developers, this is a unanimous opinion. (talk) 16:36, 18 August 2013 (UTC)

NOT the moth[edit]

The moth was definitely NOT the origin of the term bug. If you read Grace Hopper's log carefully, you will see the following points: 1. She wrote "The first actual case of bug being found" which implies that at the time of the writing, they knew of many other cases of bugs that were not actual. 2. i.e. the term "bug" was in use before this moth was found. 3. If the term was really based on some kind of insects, then, this moth would not be first. Kowloonese 21:13, 8 Dec 2003 (UTC)

More than likely debugging dates back to Chimpanzees removing lice from their troop or Cromagnon doing likewise. —Preceding unsigned comment added by TheRook (talkcontribs) 18:35, 6 May 2008 (UTC)

That may be where the word comes from - but a SOFTWARE bug is a very different matter. Why is it "debugging" and not "error removal" or "problem solving"? Where did the image of an insect as relating to a programming error come from originally? Why a "bug" and not a "rat" or a "pimple" or a "bacterium"...why not some other imagery of an undesirable thing? SteveBaker (talk) 02:02, 7 May 2008 (UTC)

Moth date is wrong[edit]

The date given for the Mark II moth is wrong. It should be 1947, not 1945. Note that in the first line of the quoted section, it says "n 1946, when Hopper was released from active duty...", yet in the last line of that quote it's saying 1945 -- the previous year! Also, if you follow the link to the actual log page, it gives the date as 1947.

I've corrected this date. T-bonham 21:38, 23 July 2007 (UTC)

The year is also wrong in the Description and Date in the page containing the image of the famous moth, File:H96566k.jpg. These errors were apparently copied over from Wikimedia Commons. These also need to be fixed, but I don't see how to edit them. HairyWombat (talk) 19:53, 15 July 2009 (UTC)
How can the date be wrong? The written attribution is to 1945, but it is correctly identified in the article as being 1946. This is an example of a bad bug report: you don't identify where the date is indicated as being wrong, nor do you suggest what the correct date should be. --Walter Görlitz (talk) 20:52, 15 July 2009 (UTC)
As I state, it is wrong in the Description and Date of File:H96566k.jpg. These state 1945 and, as this article correctly points out, they should be 1947. I mentioned it here only because I can't see how to fix File:H96566k.jpg and this page will have a lot more traffic than File:H96566k.jpg. HairyWombat (talk) 15:14, 18 July 2009 (UTC)

Earlier usage[edit]

Just in case anyone wants an example of an earlier usage of the term bug, here's a quote from Edison:

"I have the right principle and am on the right track, but time, hard work and some good luck are necessary too. It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise -- this thing gives out and [it is] then that "Bugs" -- as such little faults and difficulties are called -- show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached."

(Edison to Puskas, 13 November 1878, Edison papers, Edison National Laboratory, U.S. National Park Service, West Orange, N.J., cited in Thomas P. Hughes, American Genesis: A History of the American Genius for Invention, Penguin Books, 1989, on page 75) --Fastfission 10:56, 21 Feb 2004 (UTC)

still earlier (than Edison's) usage[edit]

There are several references to bug in the modern sense in Victorian Internet by Tom Standage. probably where Edison came across it anyway, since he started out as a telegraph operator. I think this article ought to include at least a pointer to them...

It would be great if you could give us a quote or two from the book. I don't have it myself. --Apoc2400 08:19, 21 November 2006 (UTC)

Mars Climate Orbiter mishap[edit]

The explanation for the Mars Climate Orbiter mishap is wrong. It was not about confusing meters and yards. The quantity in question was impulse, not length. The report on the mishap states that the expected unit was Newton-seconds while the delivered data was pound-seconds.

This does present a problem though because length is easy to grasp for the public while impulse is a fairly unknown quantity. The concept of meters/yards is well known, Newton-seconds isn't.

Suggestion: let the text "failed to convert yards to meters" instead be: "failed to convert from imperial to metric units"

-- J-Star 22:33, 11 Aug 2004 (UTC)

Patriot "bug"[edit]

The link to MIM-104 Patriot indicates that the failure in Dharan was caused by a computer bug. There's no corresponding text in MIM-104 Patriot. If there's any support for this theory, it should be added to Patriot article. Otherwise the link should be deleted.---Isaac R 01:22, 28 Apr 2005 (UTC)

The two articles are now linked. Search for "software error" in MIM-104 Patriot. - Bevo 22:49, 8 Jun 2005 (UTC)
This article says that 28 deaths were caused by the Patriot bug, but pedantically, weren't the deaths caused by a scud missile and the team responsible for firing it? At worst, the Patriot system can be accused of ...through inaction allowing humans to be harmed... Ojw 19:06, 30 July 2005 (UTC)

Operating system bias[edit]

There were some disgraceful examples of operating system bias in the "modern bugs and security holes" section. Please, let's leave out our preferences and opinions and state the facts. Every operating system is vulnerable to viruses and security holes, not just WINDOWS. Please give us a break. The section even tried to say that Linux's "Kernel Panic" was only some kind of mythology and isn't really needed because Linux NEVER crashes! And don't forget that closed-source software is out to destroy humanity.

Well, Linux has crashed and crashes much less often than Windows. Furthermore, the desing of Linux and of the other Unix allows them to resist to viruses better than Windows.

Bug examples are becoming irrelevant[edit]

There are links to Star Trek episodes that don't have any berring on bugs or defects and all of the video game links are to the products themesleves not to defects found in them. Unless someone can link to sepefic bugs, don't put a link there. I will check back shortly and remove these links if they are not fixed. Walter Görlitz

I'm starting to remove the irrelevant. Complain loudly if you want, but keep the discussion to how the bugs were created and how they serve to teach us not to create new bugs in the future, not things that annoy you.


"but open source software has the advantage of having a community of qualified developers to work on and improve software (and fix bugs)" That is the fallacy of many eyes; that is, nobody really knows if the guy who worked on it really was qualified at all. BS.

Again, I removed it. Don't put it back in without discussion here on the statement's validity. DoomBringer 18:04, 21 September 2005 (UTC)
Could be mentioned in terms of debugging or software testing. It's generally accepted that the more people test a piece of software, the more likely it is that a bug will be found (although no one says it's a linear function). --Uncle Ed (talk) 16:44, 30 November 2011 (UTC)

Even Earlier?[edit]

I once heard that Shakespeare is supposedly the earliest recorded use of the 'bug' in this way. Can anyone confirm if this is true?


In "Writing the laboratory Notebook" (ISBN 0-8412-0906-5), the author Howard Kanare also relates the moth story and says: "The term bug was already in common use to connote problems in electrical and mechanical systems before this time. It came from the Welsh term bwg, meaning a bugbear or hobgoblin."


This needs a little editing. Under "Etymology", the sentence "Problems with radar electronics during World War II were referred to as bugs (or glitches), and there is additional evidence that the usage dates back much earlier" follows an example of an earlier usage. Move this up to show a reverse chronolgy and it will read easier. I'll leave this to the editors. Greenbomb101 (talk) 18:57, 21 April 2009 (UTC)

By the way, it is quite funny to note that even if the text correctly debunks the myth of the first bug discovered by Grace Hopper, the description of the picture associated with it still describes it as the origin of the expressions "bug" and "debug". —Preceding unsigned comment added by Eforler (talkcontribs) 16:47, 23 November 2009 (UTC)

Computer vs. Software Bug[edit]

If a bug is something in software that causes a program to run incorrectly, why is this page at "computer bug" instead of "software bug"? "Computer bug" seems to imply there is something wrong with the hardware, not the software running on it. What does everyone else think? Frecklefoot | Talk 20:58, 29 September 2005 (UTC)

Makes sense, since this article seems to be about coding errors, not hardware malfunctions (except for the real bug, but that's an anecdote). Shinobu 00:35, 30 September 2005 (UTC)

Done. This has created a number of double redirects. Any help in fixing would be greatly appreciated. :-) Frecklefoot | Talk 20:34, 3 October 2005 (UTC)

Driv3r most bugged game of all times[edit]

Hi, I saw this game on the list of Video Games bug list, but I haven't seen any citations about this. Is there anyone?


Too narrow?[edit]

The definition of 'bug' given here is programming centric. This is fine, so long as we have a more general term, 'defect' say, for errors that can occur during requirements, analysis, or design. However, a search on 'defect' (and several synonyms) fails to retrieve any information on software.

If anyone can point me in the right direction, I'd be grateful. —The preceding unsigned comment was added by MellorSJ (talkcontribs) .

We clearly need a more-generic article on digital defects that can somehow subsume all of hardware, firmware, and software bugs and probably also specification bugs. Maybe one already exists? Does anyone know?
Atlant 16:44, 10 July 2006 (UTC)
I second this. Also, the implication on this page is that all bugs are caused by programming or design error. In many cases, it is simply design oversight: a permutation of events that no-one had anticipated.
Any software of non-trivial complexity has bugs. It's not because all programmers are cowboys but because how could you possibly design software that always performs the ideal action for every possible permutation of inputs / data?
-- (talk) 14:51, 21 July 2008 (UTC)
I find this article particularly egregious. The term "Bug" is so broad as to defy specific definition. Substantial effort has been applied to the standardized definitions of "defect", "fault", "failure", "symptom", etc., to make a separate definition of "bug" useless. I agree that this article is a (poorly worded) definition and belongs in a dictionary, not an encyclopedia. Some statements in this article such as "...usually because different parts of the computer system operate at different speeds." and "For example, formal program specifications are used to state the exact behavior of programs,..." are erroneous and the text generally is unsubstantiated. In a word, "Buggy." -- Softtest123 (talk) 03:26, 15 May 2012 (UTC)

Added section on programming style[edit]

I added a bullet on programming style under the "Prevention" section.

Good programming style is after all our first line of defence, and typos are the first and I strongly suspect, the most common cause of bugs. I feel that the role played by uncaught typos doing things like throwing off the program flow is somewhat underplayed elsewhere on the page - they aren't mentioned at all in the "types of bugs" section, for instance. All the bugs listed are methodological bugs: flaws in the reasoning of the programmer, rather than in his fingers.

However, while these are critical concepts in programming, I'm unsure if that section should be there, or if it should just be a brief mention here, and a new section created in programming style, called something like "bug avoidance". Or link to defensive programming and bulk up the [potential bugs] section? Thoughts? DewiMorgan 01:58, 11 November 2006 (UTC)

In the end I greatly reduced the programming style section that I added here right down, and added links to programming style and defensive programming. I will stick the bulk of the stuff I previously added here to the "programming style" page, and probably add a note to "defensive programming" page too. DewiMorgan 14:47, 10 May 2007 (UTC)

Added code analysis on prevention[edit]

Code analysis and even compiling was overlooked as a bug prevention tools. IMHO exception handling happens at runtime and therefore is not prevention. (talk) 07:27, 14 November 2008 (UTC)

Known Bugs[edit]

Buffer overflow was listed three times with different wording. Please don't add to this unless you have written code. I agree there should be a section for known bugs, because this tiny list is just the tip of the ice burg. —Preceding unsigned comment added by (talk) 01:47, 25 January 2008 (UTC)

There should be a section about the meaning of known bugs. You can find them in many big software projects and they are not fixed, because they are not severe and chances are that you will create a new bug if you fix this one.

I might create this section somewhen on my own, but I don't have time for that now. Maybe somebody likes the idea and is faster than me. --JonnyJD 23:20, 2 May 2007 (UTC)

Well, there are many reasons for a known bugs list in software projects. Most of them are just TODO lists or information on bugfixes in upcoming updates. Most of them don't need to be mentioned in an extra section in this article. I can't find good sources for my point and this problem seems widely unknown. I don't create a section for the sake of WP:NOR. It is not my own idea and I already learned it that way, but it is not widely accepted or known. --JonnyJD 23:06, 3 May 2007 (UTC)

[Be Bold]. Add the section and let it be shot down, rather than proposing a section and letting the proposal die from being ignored. I will add the section: please do tweak it, boldly. DewiMorgan 14:51, 10 May 2007 (UTC)

done --JonnyJD 16:52, 10 May 2007 (UTC)
nicely done! DewiMorgan 22:28, 14 May 2007 (UTC)
Thanks this now I know what bugs are --Andersmusician $ 16:41, 19 June 2007 (UTC)

Bug Statuses[edit]

I think this article needs to list "Status" of bugs, which are provided by bugzilla and other bug reporting software.

  • Blocker
  • Major
  • Minor
  • Trivial
  • Enhancement

Is a short list. Explanations should be added for each as well. -- (talk) 16:25, 18 March 2008 (UTC)

"Bug" defined in 1892.[edit]

The book "THE STANDARD ELECTRICAL DICTIONARY" by T. O'CONOR SLOANE, published in 1892 contains these two entries:

Bug. Any fault or trouble in the connections or working of electric apparatus.

Bug Trap. A connection or arrangement for overcoming a "bug." It is said that the terms "bug" and "bug trap" originated in quadruplex telegraphy.

These do not predate the 1878 Edison quote, but they do indicate the term was in widespread use by 1892. —Preceding unsigned comment added by Drifter99 (talkcontribs) 00:10, 23 August 2008 (UTC)

Bug on the bug page[edit]

Doesn't validate under XHTML 1.0 Transitional DocType due to an ID misnaming error. -- (talk) 07:00, 16 November 2008 (UTC)

No, the article validates fine. However, the Talk page doesn't. To be honest, this is not something I am going to lose sleep over. HairyWombat (talk) 18:02, 13 August 2009 (UTC)
Later. Reported it to Bugzilla. HairyWombat (talk) 19:11, 13 August 2009 (UTC)

SPAM link[edit]

The link to "Bug Tracking Basics: A beginner’s guide to reporting and tracking defects (Mitch Allen)" merely leads to a book store. The link does not provide any further information on the topic itself.-- (talk) 23:59, 9 June 2009 (UTC)

What are you going on about? The link takes you to StickyMinds, which is not a bookstore, it's a software testing and development portal. When I added the link, the article was available to all registered users. It's now PowerPass user-content. If you have May/Jun 2002 (Vol. 4, Issue 3) edition of Better Software magazine, as I do, you can also read it. It's not SPAM, and you don't have a user account. Get one. --Walter Görlitz (talk) 00:25, 10 June 2009 (UTC)

Hopper's moth[edit]

It's a cute story, but only of minimal relevance to this article. Grace Hopper simply pasted a moth into a log book as a kind of joke. Whether the bug caused a hardware problem or not is sort of interesting, but this article is not about computer hardware. Story should be a section in another article, like her bio. --Uncle Ed (talk) 19:20, 1 January 2012 (UTC)

It's not just a cute story. It has been handed-down as the story of where the term originated. The hardware bug caused a defect in the program and so makes perfect sense in this article. If you would rather make the discussion about all defects, feel free to move the article and all links to it. --Walter Görlitz (talk) 19:25, 1 January 2012 (UTC)
And since you see that computer bug redirects here, not sure we should keep the article at software bug but perhaps move it to Bug (computer term). --Walter Görlitz (talk) 19:27, 1 January 2012 (UTC)
I have already started work on Computer bug, which will reference both software bug and hardware bug. I don't think that Bug (computer term) refers mainly to software bugs. For example, my own laptop computer periodically goes into a mode where its operating system makes it difficult for the user to change windows with the mouse. It's caused by a hardware defect, wherein repeated keystrokes are rapidly produced; to make a long story short, I have to take out the battery and do a hard reboot. I don't think Dell or Microsoft would call this a software error, but it's certainly a design flaw in the computer.
Let's discuss the scope of bug more, and figure out how to organize the articles. --Uncle Ed (talk) 20:22, 1 January 2012 (UTC)
Sure. I mostly monitor for vandalism so I'll let some of the other watchers contribute. --Walter Görlitz (talk) 20:57, 1 January 2012 (UTC)

The bug (which, by the way, someone else found) was in a relay; that's a mechanical part. Not only that, but a "hardware bug" would be generally be a design fault. Anyway, not a software bug, even if the moth caused the relay to malfunction so that the program produced incorrect results.

I think what makes the story so charming is that it is not meant literally but was a light-hearted inside joke. The term "bug" had already been used by Bob Campbell (according to Howard Aiken) and even earlier by Tom Edison.

Can we work together on this? --Uncle Ed (talk) 20:13, 1 January 2012 (UTC)

Mistake metamorphism[edit]

This terminology, "Mistake metamorphism," may well be appropriate, but is not particularly an accepted term. This author cites his own publication as a reference. If the term is accepted by further citation of this authors work, then it may be a appropriate section of this article. Otherwise this section should be deleted. Softtest123 (talk) 03:05, 15 May 2012 (UTC)

I agree with deletion, and will delete it. JW ||| Talk 17:41, 30 May 2012 (UTC)
Hold off on that deletion because I have found some indication that "Mistake metamorphism" may be a term previously published and possibly copied here. I don't have a copy of Ian Sommerville's Software Engineering (9th Edition) where I think this was copied from. This is a short quote and may be "fair use" if properly cited. Softtest123 (talk) 19:16, 7 June 2012 (UTC)
I'd also vote for deletion; even if previously published (which I have no evidence for) the term isn't even remotely common and the section does not seem to add any value. Worse, it give the impression that there is some sort of overarching synthesis relating a laundry list of terms without giving the faintest indication what that might be. It's the sort of word salad that just screams "spam!". MarkusQ (talk) 05:22, 13 August 2012 (UTC)
Have you checked Summerville 9th Ed? I would consider this a relevant authority for inclusion if properly cited; otherwise I agree. As I mentioned, I don't have access to Summerville. Softtest123 (talk) 14:08, 14 August 2012 (UTC)

"First actual case of bug being found" later addition to logbook?[edit]

I don't generally edit wikipedia so I'm just leaving a note here for those who might consider making a decision, but poking around the web on the history of the "computer bug" terminology and the story of the moth in the Mark II I found a source claiming that the notation "First actual case of bug being found" was actually added to the logbook considerably later than 1947, probably in 1979. I have no idea of the reliability of the source, but this interview with the Dahlgren Navy Base retiree who eventually gave the logbook to the Smithsonian claims that the note was added to clarify the historical record at the request of Ralph Niemann, head of the Strategic Systems Department at Dahlgren and one of the mathematicians who originally accompanied the Mark II to the naval base. — Preceding unsigned comment added by (talk) 03:06, 21 February 2013 (UTC)

Software Defect vs Software Bug[edit]

In my opinion, there is a difference between defects and bugs. A defect is a failure in a system to meet certain requirements (whether they are non-existing in a system, or bugged and don't perform like they should), while a bug is more specific the failure of existing features, and can't be used to describe the absence of a feature. Yet many pages link to this Software Bug page, while the meaning is actually a defect. Examples of such pages are the pages describing bug tracking systems, like Mantis.

I think it would be good to create a defect page, to prevent a loss of information (or even giving a wrong impression that a defect is equal to a bug) when linking from pages describing a defect.

Please let me know if you think this definition I provided is wrong, I found a bug defined both as 'a defect in software'(dictionaries) and a 'error or fault in software' (this article defines it like this), the latter supporting this suggestion, the former contradicting it. Maybe we should first clearly define what we consider a bug, keeping in mind above suggested change, then talk about this change afterwards. (talk) 08:19, 12 June 2013 (UTC)

Thank you for your opinion. They're not different according to reliable sources. If you can provide a reliable source to support your opinion, feel free to. Walter Görlitz (talk) 14:21, 12 June 2013 (UTC)

Edison Movie reference - 1940[edit]

I just heard a bug reference in the movie - Edison, The Man (1940) [1] - towards the end of the movie when Edison determines that his two dynamos have a problem because the speed governors were not synced until he mechanically linked them.

His first erroneous attempt caused the dynamos to act as a motor/generator combo until the governors were mechanically linked. He wanted the dynamos to work as parallel generators. In the movie, Spencer Tracy distinctly used the term "bugs" for this problem when he first attempted to light up New York City.

Granted, this is a movie. But the term "bug" was obviously used during Edison's invention period for mechanical design issues that needed to be resolved and thus included in the movie. Re-quoting the previous Edison quote - ["Bugs" — as such little faults and difficulties are called]. And the movie itself is from 1940, which is earlier than when it was first used for software. It seems likely that "bugs" was an engineering term before it made it into software. — Preceding unsigned comment added by (talk) 03:22, 25 January 2014 (UTC)

That's great. We already have a source that supports Edison's use of the term in 1878. Walter Görlitz (talk) 03:29, 25 January 2014 (UTC)