Software Rot

Why Trust Techopedia

What Does Software Rot Mean?

Software rot refers to the slow degradation in the performance of computer software. Such software shows diminished responsiveness, lacks updates, may become faulty overtime owing to changes in the operating system it is running on and thus may need upgrading.

Advertisements

Software rot is also known as software erosion, code rot, software entropy, bit rot or software decay.

Techopedia Explains Software Rot

Software rot is generally categorized into two types:

  • Dormant rot: Software that is not used on a consistent basis may eventually become useless as the rest of the application transforms. Variations in software environment as well as user demands play a role in the deterioration as well.
  • Active rot: Without constant application of ideal mitigation procedures, software that has undergone constant modifications might lose its integrity gradually. However, most software requires constant updates as well as bug fixing. This may lead to an evolution process, which ultimately makes the program deviate from its original design. As a result of this constant evolution, the logic engineered by the original designers tends to be invalidated, presenting new bugs.

The main reasons behind software rot are as follows:

  • Unused code
  • Environment change
  • Seldomly updated code

Fixing software rot is challenging; however, the following are some measures that can prevent or at least minimize the intensity of the rot:

  • Introduce code reviews: Include code reviews as a compulsory step before the release. A clear set of coding guidelines, in addition to training coders for review using these guidelines, is essential.
  • Create documentation: Include rules regarding commenting code in the coding guidelines, and make it mandatory for usage. This would force programmers to structure their comments in a consistent manner. This leads to an increase in readability across the code base.
  • Mentor new programmers: When adding people to an existing team, make sure to appropriately initiate them in the code base.
  • Hire the right ones: Hire the right people with the right set of skills specific for the requirement.
Advertisements

Related Terms

Margaret Rouse
Technology expert
Margaret Rouse
Technology expert

Margaret is an award-winning writer and educator known for her ability to explain complex technical topics to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles in the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret’s idea of ​​a fun day is to help IT and business professionals to learn to speak each other’s highly specialized languages.