The "bug" word seems to be so popular that it overshadows "defect" (in search results, in tags somewhere, even Wikipedia article is called "Software bug") despite of looking jargonesque.

Is the word "bug" official term for this or it should be used only in informal occasions?

  • I prefer to use the term "Undesired program feature". =) Jul 22, 2018 at 7:39

5 Answers 5


The words are used interchangeably in many situations. Here are some ways in which they may have different meanings.

  • The term defect is more formal. I think nowadays everyone knows what a bug is, but in official standards documentation or regulated environments, you'll see defect used more often.

  • Bugs are usually only used to refer to software problems, but defects can apply to any part of a product: hardware, software, and even user manuals and training materials.

  • There's often a tendency to call something a bug only if the behavior is different than what the programmer intended. Defects have a broader use, for situations where the behavior is different than what the specifications asked for or - in some teams - what the customer actually wanted.

  • 4
    I scrutinized this answer very carefully, but could find no defects. +1
    – J.R.
    Aug 10, 2012 at 10:42

"Defect" simply implies that the software fails to do what the customer or business representative wants it to do. This might be due to an actual "bug" (a programming mistake); but more often, it's due to some kind of communication problem between the customer or business representative, and the programming team. For example, if the customer fails to clearly express what they want, or changes their mind after the programmer has started work, then this can lead to a "defect", even though the programmer has not made an error.

In other words, a bug is a specific type of defect, but not the only type.

Occasionally, though, the two terms are used interchangeably. But usually not by programmers.


To me, a bug implies something that can be fixed and will likely be fixed in a future release. A defect implies something that is hopelessly irreparable a bit worse.

Bug definitely seems to be the official term. From Wikipedia:

Use of the term "bug" to describe inexplicable defects has been a part of engineering jargon for many decades and predates computers and computer software; it may have originally been used in hardware engineering to describe mechanical malfunctions. For instance, Thomas Edison wrote the following words in a letter to an associate in 1878:

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.

  • 3
    In some contexts, bug and defect are essentially interchangeable, with defect being slightly more formal, and the notion of "hopeless irreparability" is NOT connoted with "defect." Here is one example where defect and bug are used pretty much interchangeably.
    – J.R.
    Aug 9, 2012 at 22:54
  • I might add that a bug is any problem with the software whether discovered or not. A Defect is a bug that has been found and reported out of phase. I.e. a bug that got past test and into a delivered product so that a customer found it and reported it.
    – Jim
    Aug 9, 2012 at 23:18
  • 2
    I strongly disagree with this answer. I fix software defects every day - seldom are they hopelessly irreparable.
    – user16269
    Aug 9, 2012 at 23:28
  • 1
    I would say "defect" in external docs. To non-techies bug may not be understood, it may sound like you aren't taking the problem seriously or lead to arguements about faults/specs/changes etc
    – mgb
    Aug 9, 2012 at 23:49
  • Now that you've crossed out "hopelessly irreparable", of course, I disagree less strongly.
    – user16269
    Aug 11, 2012 at 6:32

Bug means there is some fault somewhere in the code of the software Defect is also malfunctioning of the application due to fault in code But Defect is more appropriate a term use officially


A software bug or commonly just bug when talking about software or computers in general. Defect is a much older word that can apply to anything in the world. There's a whole science to software bugs and debugging. Defect usually (but not always) connotes not working according to official design; a bug can be undesired behavior of the software which was not part of design in the first place. This is the major difference between the two terms, software bugs relating to complex internal machinery of instructions that we cannot physically see.

  • 1
    A bug can definitely be something that you can see - as anyone who's seen the Windows "blue screen of death" can attest.
    – Lynn
    Aug 10, 2012 at 2:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.