software rot
software rot n. Term used to describe the tendency of
software that has not been used in a while to {lose}; such
failure may be semi-humorously ascribed to {bit rot}. More
commonly, `software rot' strikes when a program's assumptions
become out of date. If the design was insufficiently {robust},
this may cause it to fail in mysterious ways.
For example, owing to endemic shortsightedness in the design of
COBOL programs, most will succumb to software rot when their
2-digit year counters {wrap around} at the beginning of the
year 2000. Actually, related lossages often afflict centenarians
who have to deal with computer software designed by unimaginative
clods. One such incident became the focus of a minor public flap
in 1990, when a gentleman born in 1889 applied for a driver's
license renewal in Raleigh, North Carolina. The new system
refused to issue the card, probably because with 2-digit years the
ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the
mythical one was a real problem on early research computers (e.g.,
the R1; see {grind crank}). If a program that depended on a
peculiar instruction hadn't been run in quite a while, the user
might discover that the opcodes no longer did the same things they
once did. ("Hey, so-and-so needs an instruction to do
such-and-such. We can {snarf} this opcode, right? No one uses
it.")
Another classic example of this sprang from the time an MIT hacker
found a simple way to double the speed of the unconditional jump
instruction on a PDP-6, so he patched the hardware. Unfortunately,
this broke some fragile timing software in a music-playing program,
throwing its output out of tune. This was fixed by adding a
defensive initialization routine to compare the speed of a timing
loop with the real-time clock; in other words, it figured out how
fast the PDP-6 was that day, and corrected appropriately.
Compare {bit rot}.
HTML Conversion by AG2HTML.pl V2.94618 & witbrock@cs.cmu.edu