software rot: n.

Termine usato per descrivere la tendenza del software che non è stato usato poco prima di lose; questa mancanza può essere descritta quasi umoristicamente come bit rot. Più comunemente, i software rot avvengono quando una cosa certa su un programma diventa vecchia. Se il progetto non era abbastanza robusto, questo può provocare il suo fallimento in modi misteriosi. Sin.: code rot. Vedi anche link rot.

Ad esempio, a causa della mancanza endemica di lungimiranza della progettazione dei programmi in COBOL, un buon numero di essi arrivò al software rot quando i loro contatori di anni a due cifre si impallarono all'inizio dell'anno 2000. In realtà, le perdite relative spesso affliggono i veterani che devono avere a che fare con software informatico progettato da gente priva di immaginazione. Un incidente del genere diventò il centro d'interesse di una piccola parte di pubblico nel 1990, quando un gentiluomo nato nel 1889 fece domanda per un rinnovo della patente a Raleigh, North Carolina. Il nuovo sistema si rifiutò di emettere la carta, probabilmente perchè a causa del contatore di anni a due cifre le età 101 e 1 non erano distinte.

Nota storica: software rot in un senso persino più comico di quello leggendario fu un problema reale su computer recenti di ricerca (come l'R1; vedi grind crank). Se un programma che dipende da una particolare istruzione non viene eseguito in poco tempo, l'utente può scoprire che l'opcode non fa più la cosa che faceva una volta. (“Hey, abbiamo bisogno di un'istruzione per fare questa cosa. Possiamo prenderci questo opcode, vero? Nessuno lo usa.”) Un altro clasico esempio di questo risale al tempo in cui un hacker del MIT trovò un modo semplice per duplicarel a velocità dell'istruzione di salto incondizionato su un PDP-6, così corressel 'hardware. Sfortunatamente, questo ruppe un software di temporizzazione molto fragile in un programma che eseguiva musica, facendo sì che l'output fosse fuori tempo. Questo fu corretto aggiungendo una routine di inizializzazione per confrontare la velocità di un ciclo di temporizzazione con il clock a real-time; in altre parole, scopriva quanto veloce era il PDP-6 quel giorno, e si correggeva in modo appropriato.

Paragonare a bit rot.