On 02/29/2016 11:31 AM, Martin Burnicki wrote:
Hal,
Hal Murray wrote:
martin.burni...@burnicki.net said:
Strange that at least 3 independant firmware trees/development teams should
chose the same magic wk860.
I don't find it strange. If the next firmware version is based on the
previous version and none of the developers has stumbled across this
potential problem earlier ...
That sounds like poor software engineering. Or poor engineering management.
The wk860 is supposed to represent the build time of the software ...
Do you *know* this, or are you just *assuming* this? ;-)
so it will
work for 20 years from when it was built rather than 20 years from when the
10 bit week counter last rolled over or 20 years from when the constant was
last updated.
There are also approaches where the proper extension of a week number
doesn't just work within a single 1024 week cycle with some hardcoded
limit, like this simple example:
if ( wn < 860 )
wn += 1024;
There may always be pieces of code which generate a faulty result under
certain conditions, and no stumbles across this even in reviews until it
really happens.
I'm not aware of *any* project where each single line of code is checked
once again whenever a new release is rolled out.
Rather, in all projects I've seen there is a tendency to trust existing
code and only extend it. Re-validating it is usually regarded as money
in the sea. That old code can have incorrect assumptions that you
eventually expose as you change its environment is a re-occurring
learning experience. Modern approaches to testing helps, and working on
the backlog of testing can help to disclose such problems, but only if
the test-code writer has the mindset that covers the problem at hand.
It's easy to make bold statements, reality is much more humbling
experience in the long run. Good test-benches will aid you as you want
to make larger clean-ups of old code. Larger clean-ups helps to expose
old bugs as you actually look at the code as a designer again. It is
also humbling to see what errors a younger yourself did and how you now
don't do such design anymore as you have been bitten badly by the bug.
Cheers,
Magnus
_______________________________________________
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.