Jump to navigation Jump to search
- The second law of thermodynamics, in principle, states that a closed system's disorder cannot be reduced, it can only remain unchanged or increase. A measure of this disorder is entropy. This law also seems plausible for software systems; as a system is modified, its disorder, or entropy, tends to increase. This is known as software entropy.
- Within software development, there are similar theories; see Lehman (1985), who suggested a number of laws, of which two were, basically, as follows:
The process of code refactoring can result in stepwise reductions in software entropy.
Software entropy is increased with accumulation of technical debt.
- Feature creep
- Software bloat
- Software brittleness
- Software rot
- Fail-fast programming pattern to reduce software entropy
- Algorithmic information theory
- 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, ISBN 9780124424401
- 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.
- Wojnowicz, Michael; Chisholm, Glenn; Wolff, Matt; Zhao, Xuan (2016). "Wavelet decomposition of software entropy reveals symptoms of malicious code". Journal of Innovation in Digital Ecosystems. 3 (2): 130–140. doi:10.1016/j.jides.2016.10.009.
|This software-engineering-related article is a stub. You can help Wikipedia by expanding it.|