Excellent article nonetheless.
The clear separation of microstates and macrostates in software, through proper abstractions is a key to good software quality.
Unfortunately the lack of abstractions or the prevalence of leaky abstractions, due to bad design and software management practices (e.g. monkey patching) eventually leads many codebases into its critical point. In this critical state small perturbations of microstates (either at development or at runtime) causes unpredictable behavior changes at macroscale level.
So if you ever have wondered why our software quality is worse than the laws of thermodynamics would justify:
Our best physicists are now working on theories based on renormalization groups to exactly describe the expected distribution of blue screens of deaths: To have much better models of how bad our applications are! ;)