Software entropy
Not to be confused with information entropy.
A work on software engineering by Ivar Jacobson et al. [1] describes software entropy as follows:
- The second law of thermodynamics, in principle, states that a closed system's disorder cannot be reduced, it can only remain unchanged or increased. A measure of this disorder is entropy. This law also seems plausible for software systems; as a system is modified, its disorder, or entropy, always increases. This is known as software entropy.
- Within software development, there are similar theories; see Lehman (1985),[2] who suggested a number of laws, of which two were, basically, as follows:
- A computer program that is used will be modified
- When a program is modified, its complexity will increase, provided that one does not actively work against this.
Andrew Hunt and David Thomas use Fixing Broken Windows as a metaphor for avoiding software entropy in software development.[3]
The process of code refactoring can result in stepwise reductions in software entropy.
Software entropy is increased with accumulation of technical debt.
See also
References
- ↑ Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar (1992), Object-Oriented Software Engineering: A Use Case Driven Approach, ACM Press. Addison–Wesley, pp. 69–70, ISBN 0-201-54435-0
- ↑ Lehman, M. M.; Belady, L.A. (1985), Program evolution: processes of software change, Academic Press Professional, Inc., San Diego, CA
- ↑ Hunt, Andrew; Thomas, David (1999), The Pragmatic Programmer, Addison Wesley, ISBN 0-201-61622-X – Item 4 (of 22 tips) is Don't Live with Broken Windows.
This article is issued from Wikipedia - version of the Saturday, April 09, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.