[WEBINAR] The New Normal: Dealing with the Reality of an Unsecure World

Software Rot

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

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.

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
"Techopedia" on Twitter

Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Free Whitepaper: The Path to Hybrid Cloud
Free Whitepaper: The Path to Hybrid Cloud:
The Path to Hybrid Cloud: Intelligent Bursting To Amazon Web Services & Microsoft Azure
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.