Software rot is the slow degradation of computer software as a result of failures to keep its programming current with the rest of a computer system. The term "software rot" is a misnomer, because the software is not actually decaying; it just isn't being updated properly, which makes it run slower and seem as if it's faltering. This usually is not an irrevocable change, and reinstalling the software or making effective updates can often resolve the problem. In a broad sense, this type of rot is classified as either active or inactive, depending on the software’s usage.
When software ages, there may be physical problems that occur with its bits and coding. In most cases, this is not what is happening in software rot. At the same time, the changes seen with both issues may be similar, because the software slows down and becomes less efficient. One minor cause for this is unused programming, which has a higher tendency to rot when compared to more active coding.
The major cause for software rot is that software no longer addresses the current computing environment. This can be a result of poor updates that do not fix such issues, or no updates at all. For example, if there is a program that is entirely dependent on a certain clock speed to function, then this program will become less efficient as clock speeds increase with better hardware. The program would not know how to handle the higher speeds, and rot would begin.
Rot in this manner usually can be fixed in one of two ways. If the software still, or partially, reflects the current computing environment, then the user should reinstall the program. This has the ability to remove artifacts and speed the program to how it was when the user first got it. The other way to fix software rot is to update the program, but this normally can only be done by the programmer, and the updates should address any functionality issues.
There are two major types of software rot: inactive and active. Inactive rot refers to problems with software that is rarely opened or updated, which may cause artifacts to appear or the program to no longer reflect what users and computers need. Active rot happens when the program is used and updated but the updates either do not reflect changes needed to properly adapt to the computer environment or the original source code has been changed so much that problems are occurring.