2014-04-26 10:52:28 -04:00
|
|
|
software rot
|
|
|
|
|
2014-04-26 11:54:15 -04:00
|
|
|
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. Syn. code rot. See also link rot. For example, owing to
|
|
|
|
endemic shortsightedness in the design of COBOL programs, a good number of
|
|
|
|
them succumbed to software rot when their 2-digit year counters underwent
|
|
|
|
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.
|
|
|
|
|