Dealing With The Inevitability of Software Entropy — Is Software Equilibrium Attainable?

Daniel Okwufulueze
dunnhumby Science blog
13 min readFeb 29, 2020

--

Source: https://storage.googleapis.com/cdn.thelondoneconomic.com/wp-content/uploads/2019/06/97bf1c69-programming-1857236_1280.jpg

… refactorings do not necessarily make source code more natural, and … naturalness changes in different ways for different types of refactorings — Lin et al.

The statement above is from the conclusion of an investigation into the impact of refactoring operations on code naturalness.

It is normal for technical teams to prefer to work with software systems that have high predictability and stability, and low entropy. Refactoring code to reduce software entropy is good work, but what if there’s a software state where we’re certain that the system’s entropy would increase no further, where we can all relax knowing that the worst has already happened and going forward, things can only get better or remain the same? To some extent, this is reminiscent of the equilibrium state of a thermodynamic system where entropy reaches a particular maximum value and does not increase any further. But is it possible for software entropy not to grow?

In the following sections, we would discuss, among other things, the concepts of Code Naturalness, Software Equilibrium, and Software Entropy.

One key assumption about the software systems discussed here is that they are in use unless otherwise stated.

--

--

Daniel Okwufulueze
dunnhumby Science blog

Lead Engineer at dunnhumby; Blockchain Enthusiast & Developer; Agnostic. For pastime, I read, write, swim, play musical instruments, and think.