[net.announce.arpa-internet] Software alert: DATE-86

hoey@NRL-AIC.ARPA (Dan Hoey) (12/11/85)

Early this year a message appeared on ARPANET-BBOARDS commemorating the
ten-year anniversary of DATE-75.  A somewhat more ominous anniversary
will occur in four weeks, on 9 January 1986.  Users of the TOPS-10
operating system should beware of software failures beginning on that
date.

DATE-75 is the name of a set of program modifications applied to the
TOPS-10 operating system, running on DEC PDP-10 computers.  Before the
modifications, the TOPS-10 system could only represent dates between 1
January 1964 and 4 January 1975.  The DATE-75 modifications added three
more bits to the representation of dates, so that dates up to 1
February 2052 could be represented.  To maximize compatibility with
existing software, the three extra bits were taken from several unused
positions in existing data structures.  The change was announced in
mid-1974, and several tens of person-years went into updating software
to recognize the new dates.

Unfortunately, reassembling these bits into an integer representing the
date was somewhat tricky.  Also, some programs had already used the
spare bits for other purposes.  There were a large number of bugs that
surfaced on 5 January 1975, the first day whose representation required
the DATE-75 modification.  Many programs ignored or cleared the new
bits, and thought that the date was 1 January 1964.  Other programs
interpreted the new bits incorrectly, and reported dates in 1986 or
later.  Date-related program bugs were frequent well into the Spring of
1975.

On 9 January 1986, the second bit of the DATE-75 extension will come
into use.  Users of software developed in the 60's and early 70's on
the TOPS-10 operating system should beware of problems with testing and
manipulation of dates.  Beware especially of programs that were patched
after manifesting bugs in 1975, for in the rush to fix the bugs it is
possible that some programs were modified to assume that the date was
between 1975 and 1986.  Any date that is off by a multiple of eleven
years and four days is probably caused by this type of bug.

Dan Hoey