Fix On Failure

You didn't hear it from me, but a certain auto company's Y2K testing of manufacturing software turned up a single defect that would have shut down plants. For one day. They're glad they found it. Civilization would not have fallen had they not. But they're really glad they have a giant full-time Y2K testing lab.


It's not fixed until you test it:

I inherited a project that handled 2 digit Y2K issues with logic like this:

   if year2 = 0 then
      ! This is a NULL date, which requires special application processing...
   else if year2 > 50 then
      year4 = 1900 + year2
   else
      year4 = 2000 + year2
   end if
Careless logic: It fails for all dates in the year 2000 itself (but works for 2001 to 2050). Fix was to change the first line to "if year2 = 0 and month = 0 and day = 0 then ..."

(The input could not be changed to 4 digit years, because you can't change the ANSI X.12 EDI standards that easily. ;-)

Also, unaware of implementation techniques such as the above, upper management was claiming that this software would handle all 4 digit dates well into the future -- a highly misleading claim. (...wait until we hit the "year 2050 crisis!")


CategoryHistorical


EditText of this page (last edited August 3, 2004) or FindPage with title or text search