dict.org

The DICT Development Group


Search for:
Search type:
Database:

Database copyright information
Server information
Wiki: Resources, links, and other information


2 definitions found
 for software rot
From The Jargon File (version 4.4.7, 29 Dec 2003) :

  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. 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.
  

From The Free On-line Dictionary of Computing (18 March 2015) :

  software rot
  
      The tendency of software that has not been used
     in a while to fail; 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 shortsightedness in the design of some
     COBOL programs, many would have succumbed to software rot when
     their 2-digit year counters wrapped around at the beginning of
     the year 2000.  A related incident made the news in 1990, when
     a gentleman born in 1889 applied for a driver's licence
     renewal in Raleigh, North Carolina.  The 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 initialisation
     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.
  
     [{Jargon File]
  
     (2002-02-22)
  

Questions or comments about this site? Contact webmaster@dict.org