What is a "bug" ?

Jay Asher

What is a "bug" ?

Something that has become ubiquitous on the internet fora is really starting to, well, bug me, and that is the indiscriminate and to my mind inaccurate use of the term "bug." It also bugs , I suspect, a lot of developers.

The dictionary defines "bug" broadly as "an error in a computer program or system." This is now renders it a meaningless word as anyone who has any issue on their system with a software app can describe it as a bug in the software.

To me, a bug in software is something that will happen to all, most, or at the least many users who use it. If it only happens to a handful of people using an app with a specific computer, OS, or combo of hardware/plugins, then it is not a bug, it is a system specific issue.

Here is an example of what I would call a bug. Logic used to have a feature called "wait for note" where recording would begin with the striking of your keyboard controller. At some point, this stopped working., nonetheless it was still listed as an option. Eventually, Apple acknowledged that it was indeed not working and that they probably would not fix it so they just removed it.

THAT was clearly a bug. It happened to 100% of users 100% of the time. Conversely I will read something like, " I am running Logic Pro version whatever on OSX whatever with such and such audio interface and if use plugins A, B, and C, all of a sudden Logic gets really slow and gives me error messages. It is really buggy software."

Someone will respond and say, "Gee I am using almost the identical stuff and I am not having this."

THAT is clearly NOT a bug in my mind but a system specific issue.

Whaddya think?
I don't quite agree with this.

I think it's a bug if a certain feature of a piece of software doesn't work with a 3rd party software that it is supposed to work with, e.g. a plugin or interface.

AFAIK Logic should not have an issue with any AU that passes validation. If there is a problem when you use that plugin with Logic - and that issue is not there when the plugin is used with any other DAW - then I think that is a bug.
Well, that is fine but as you say what if it also has problems in another AU host, as is frequently the case. Then is it not a plugin bug rather than a Logic bug? That is the danger in assuming and most users will not test it in several hosts before they go yelling Logic is so buggy.
On Gearslutz a guy wrote: "A more formal definition is 'behavior or results that differ from the developer's written specification'."

I like this one!
I expect the developers do too.

Publically, I doubt Apple would ever guarantee say that Logic works fine with (e.g.) Waves AU plugins.

But I bet if there were issues with Waves (but only Logic/Waves issues) they would be scrabbling around trying to fix it because people would say it's a logic bug.
Everything in software that does not work as it is supposed to work can be called a bug. It does not matter to how many people it may happen. But the keyword is "supposed to". Logic is for example not supposed to work with VST plugins. If you manage to run VST's through some wrapper but it does not work properly, the bug is not in Logic because this software is not supposed to run VST's. It may be a bug on the wrapper's side, assumed that this software is supposed to work with Logic. If it isn't, there is no bug at all. It just does not work the way you expect.

Manufacturers of large and complex programs may have restrictions in dealing with bugs. They tend not to review their code or rewrite it, if only one user reports a bug, if it is not reproducible or if it isn't obviously a bug from the view of the manufacturer. That's why it is important that many users report a bug and explain it as good as they can.

Furthermore, there are situations requiring more research. If an AU plugin passes validation and does not work properly in Logic but does work in another DAW, this can be a bug in Logic. But it can also be a bug in the AU validation (which is not part of Logic) or a bug in the plugin itself, that doesn't show up in the other DAW. It might even be a bug in the other DAW because "friendly bugs" can prevent a misbehaviour to show up.

There is no bug-free software above a certain size. In a program like Logic you can expect hundreds if not thousands of bugs. Some are known but cannot be fixed, some are known but don't get fixed for whatever reason and many are unknown or seen by just a few users who do not report the issue. And some bugs get introduced by third party software or the system software and could be fixed on either side. Of course, the average user calls such a thing a bug on the side he is currently working.

And it might happen that you consider as a bug what others call a feature. Or that you try to get a certain feature to work but did not provide all necessary settings or you try it on material it doesn't work with. Or that the manual is not clear on a subject. Or you understand a function in a wrong way. Normally the biggest bug sits in front of the monitor.

Whenever you experience a bug in software, first wonder if what you do is really supposed to work the way you do it. Or if you just think it should work the way you want. Then think about possible circumstances given by the operating system, software version, additional software and so on. And there are often situations where you cannot know or understand all circumstances. So, if you write a bug report, include as much information as you can because programmers think different and a little word that is not importand for you may give them the clue to find and remove a bug.

Regarding the over-usage of the word bug in internet forums: Many people call it a bug if a software does not instantly what they want to do. This comes from the common feeling "I must be right because I see it" or from the idea "I am not the only one, others and especially my personal guru call this a bug". This may be true or not. But opinions do not change the reality. At least not in a technical world ;)