Wiadomość napisana w dniu 2007-01-24, o godz02:30, przez David Carlton:
For 4, you should probably spend some time figuring out why bugs are
being introduced into the code in the first place. Is test coverage
not good enough?
It's "too good" to be usable. The time required for a full test suite
run can be measured by days not hours. The main reason is plain and
simple the use of an inadequate build infrastructure and not the pure
size of code compiled for coverage. Those things get completely
ridiculous
for cross build targets.
If so, why - do people not write enough tests, is it
hard to write good enough tests, something else? Is the review
process inadequate? If so, why: are rules insufficiently stringent,
are reviewers sloppy, are there not enough reviewers, are patches too
hard to review?
My guess is that most or all of those are factors, but some are more
important than others.
No. The problems are entierly technical in nature. It's not a pure human
resources management issue.
My favorite tactic to decrease the number of
bugs is to set up a unit test framework for your code base (so you can
test changes to individual functions without having to run the whole
compiler), and to strongly encourage patches to be accompanied by unit
tests.
That's basically a pipe dream with the autoxxxx based build system.
It's even
not trivial to identify dead code... A trivial by nature change like the
top level build of libgcc took actually years to come by.