Karel,

1)  I take it you don't think you got what you payed for?

2) Do you have an example of a complex program that you wrote which is Bug Free? Your 4 answers you put below are unrealitically simple.

If I assume that a program is too meet a customers needs. I need to know what the customers needs are then I come up with a set of proceedures that the customer would use to meet those needs and in doing so I need to anticipate every combination out into infinity that they would put the methods together. My experience with customers has been. You can write a proposed performance specification but they won't necessarily read it or think it meens what you think it meens. Upon delivering the software they where tell you what you did wrong. After making those changes they will figure out new things to do with the application (law of unanticipated consequences) which will break the code again. I suggest, the only "Bug Free" programs are very very simplistic.

Finally, I suggest you drop your usage of the word criminal. The developers here are pretty much not payed for their time. Every request for a feature, Every Bug report, Every request for an explination or documentation should be made with the most polite thanks for your efforts could you explain, fix, repair... did you notice.... how can I help.

No pcb isn't perfect, but I do have a 15" by 8.5" (381mm x 216mm) Board with over 1000 components on which was designed on gschem and layed out on pcb. This board has a 896 contact bga with a 1mm pitch. To get traces to all the balls with only 8 layers (4 signal, 4 power) I used vias in pad and routed 2 traces (4 mill width) between rows of pads. It also has four other devices which are 100 contact QFP. Oddles of high speed analog circuits, A/D converters and D/A converters. This board has been manufactured, assembled, debugged and tested... Yes it does have a few (~9 cuts and jumpers) mistakes. So much for my work being Bug Free. Ahh yes, Funny enough, I didn't expect my work to be bug free which is why i wired a number of extra I/Os to open vias with pads into that BGA. SO far they have been very usefull in debugging the verilog code which was first simulated on .... drum roll..... icharus.

So.... Dan, Harry, Alves, DJ, Steve and many many many others..... I thank you.

Steve Meier


Karel Kulhavy wrote:

We are not committing code which has not been tested, but the reality
is that until someone steps up to the plate with an exhaustive automated
testsuite, the tests will never be as complete as real users using



Automated testsuite is not an answer. It's just another thing that waits for being buggy.

Answer is writing things BugFree(TM). A proof that it's possible:

1) A single bit is BugFree(TM). If it should be 0, it can be 0, if it
  should be 1, it can be 1. Similarly, for other elementary systems
  that are not a bit, similar thing is obvious.
2) If the systems consists of 2 components A and B and A has interface
a and B has interface b, a=b, and A and B are both BugFree(TM), then
it's easy to see that A+B is BugFree(TM) too.
3) Arbitrarily large system can be built using these rules.
4) equality a=b is tested using interface descriptions that are called
"specification"

So when we now know that arbitrarily large system can be built
BugFree(TM), we can write things BugFree(TM). Then the whole problem with
bugs is just a bug in implementation of this system, which will occur far
less often than a generic bug when we write things without keeping these
facts in mind.



the tool for hours.



Bugs are not normal, as well as stealing or killing people is not
normal. Bugs are evil. The fact that things like Bugzilla exist
doesn't make bugs any more normal, as well as existence of punishment
doesn't make stealing or killing any more normal.


by your argument, we should evidently get rid of bug tracking systems
as well as a legal system for dealing with criminals??



No. You can't control a criminal. Criminal is controlled by his own free will. However, you can control your own behaviour to prevent bugs in code.

Cl<






Reply via email to