| Line 1: |
Line 1: |
| − | '''Bugs''' are what you don't want, whether they are natural pests (like insects) or flaws in a human-engineered product. | + | A '''Software bug''' is an errors in [[computer software]]. These are errors which are introduced accidentally while writing or altering code. |
| | | | |
| − | Historically, people have referred to [[insect]]s and [[spider]]s as "bugs". It's not clear whether this derives from the phrase, "They bug me", or it's the other way round.
| + | ==Levels of severity== |
| | | | |
| − | '''Software bugs''' are errors in [[computer software]].
| + | There are levels of bugs: |
| | + | #Crashes the operating system - you lose all your unsaved work in all programs |
| | + | #Crashes the program - you lose your unsaved work in that program |
| | + | #Feature stops working or works wrong |
| | + | #Feature is hard to find ("Can't get there from here") - feature exists, but poorly documented, so you can't find it. |
| | + | |
| | + | ==Other ways to classify bugs== |
| | * Some [[computer programmer]]s distinguish between [[coding error]]s and [[design flaw]]s, often using the half-joking justification, "That's not a bug. It's a [[feature]]!" | | * Some [[computer programmer]]s distinguish between [[coding error]]s and [[design flaw]]s, often using the half-joking justification, "That's not a bug. It's a [[feature]]!" |
| | * Often the distinction between a coding error, a design flaw and a feature request is disregarded. Indeed, [[Sun Microsystems]] maintains a [http://bugs.sun.com/ bug parade] for their [[Java]] platform which lets everyone in the world vote for a bug fix or feature request. | | * Often the distinction between a coding error, a design flaw and a feature request is disregarded. Indeed, [[Sun Microsystems]] maintains a [http://bugs.sun.com/ bug parade] for their [[Java]] platform which lets everyone in the world vote for a bug fix or feature request. |
| | | | |
| − | ==External links== | + | ==The need for vigilance== |
| − | * [http://bugreport.sun.com/bugreport Report a bug or request a feature] - at Sun | + | |
| | + | Speaking of one particularly embarrassing software bug, world class [[Java]] expert [[Joshua Bloch]] wrote: |
| | + | * The general lesson that I take away from this bug is humility: It is hard to write even the smallest piece of code correctly, and our whole world runs on big, complex pieces of code. We programmers need all the help we can get, and we should never assume otherwise. Careful design is great. Testing is great. Formal methods are great. Code reviews are great. Static analysis is great. But none of these things alone are sufficient to eliminate bugs: They will always be with us. A bug can exist for half a century despite our best efforts to exterminate it. We must program carefully, defensively, and remain ever vigilant. [http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html] |
| | + | |
| | + | |
| | | | |
| − | [[category:computers]][[category:software]] | + | [[Category:Computers]][[Category:Software]] |