View Single Post
Old 02-16-2005, 04:28 AM   #9
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Don't joke - I've heard people who really thought that, and some readers might take your comment seriously.

There is a myth that if we were really good at programming, there would be no bugs to catch. If only we could really concentrate, if only everyone used structured programming, top-down design, decision tables, if programs were written in SQUISH, if we had the right silver bullets, then there would be no bugs. So goes the myth. There are bugs, the myth says, because we are bad at what we do; and if we are bad at it, we should feel guilty about it. Therefore, testing and test case design is an admission of failure, which instills a goodly dose of guilt. And the tedium of testing is just punishment for our errors. Punishment for what? For being Human? Guilt for what? For failing to achieve inhuman perfection? For not distinguishing between what another programmer thinks and what he says? For failing to be telepathic? For not solving human communication problems that have been kicked around... for forty centuries?” -- Beizer, 1990, quoted in [Pressman-01].

A study by DeMarco and Lister (the authors of peopleware) concluded that professional programmers average 1.2 bugs for every 200 lines of code they write. Now remember that most muds are very large, and that most mud coders are not professionals.

Having your users test your software is a great way to track down problems, but they need to have the incentive to want the problems fixed. Take an example like Microsoft - almost all of their customers want to have a secure and stable system, therefore they're personally going to benefit from reporting bugs. On the other hand, imagine if it was a piece of banking software and you said to your customers "You can exploit bugs or take advantage of any flaw without repercussions". Do you really think anyone would report how they could make the machine give them free bank notes? On the other hand, if you said that such exploitation was theft, you'd find more people willing to inform you - and if you offered a large financial reward for such information, you'd find people deliberately trying to find and report the bugs purely to claim the reward.

In a mud, the usual approach is to punish those who exploit bugs, and/or reward those who report them. If the reward is greater than the benefit gained from the bug, and/or the punishment severe enough to not make the risk of being caught worthwhile, then the number of people exploiting bugs will decrease.

On the other hand, if you offer no punishment or reward, the player will be encouraged to keep using the bug and not reveal it. This can often be detremental to the enjoyment of the rest of the players, and also forces the developers to waste a lot of their time tracking down bugs instead of improving the game.
KaVir is offline   Reply With Quote