Un trabajo sobre ingeniería de software de Ivar Jacobson et al. [1] describe la entropía de software de la siguiente manera:
- La segunda ley de la termodinámica , en principio, establece que el desorden de un sistema cerrado no puede reducirse, solo puede permanecer inalterado o aumentar. Una medida de este desorden es la entropía . Esta ley también parece plausible para los sistemas de software ; a medida que se modifica un sistema, su desorden o entropía tiende a aumentar. Esto se conoce como entropía de software .
- Dentro del desarrollo de software , existen teorías similares; ver Lehman (1985), [2] quien sugirió una serie de leyes, de las cuales dos eran, básicamente, las siguientes:
- Se modificará un programa informático que se utilice
- Cuando se modifica un programa, su complejidad aumentará, siempre que no se trabaje activamente en contra de esto.
Andrew Hunt y David Thomas utilizan la reparación de ventanas rotas como una metáfora para evitar la entropía del software en el desarrollo de software. [3]
El proceso de refactorización de código puede resultar en reducciones escalonadas en la entropía del software.
La entropía del software aumenta con la acumulación de deuda técnica .
Ver también
- Característica fluencia
- Hinchazón de software
- Fragilidad del software
- Podredumbre de software
- Patrón de programación a prueba de fallos para reducir la entropía del software
- Teoría algorítmica de la información [4]
Referencias
- ^ Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar (1992), Ingeniería de software orientada a objetos: un enfoque basado en casos de uso , ACM Press. Addison – Wesley, págs. 69–70 , ISBN 0-201-54435-0
- ^ Lehman, MM; Belady, LA (1985), Evolución del programa: procesos de cambio de software , Academic Press, ISBN 9780124424401
- ^ Hunt, Andrew; Thomas, David (1999), El programador pragmático , Addison Wesley, ISBN 0-201-61622-X- El artículo 4 (de 22 consejos) es No vivas con las ventanas rotas .
- ^ Wojnowicz, Michael; Chisholm, Glenn; Wolff, Matt; Zhao, Xuan (2016). "La descomposición wavelet de la entropía del software revela síntomas de código malicioso" . Revista de Innovación en Ecosistemas Digitales . 3 (2): 130–140. doi : 10.1016 / j.jides.2016.10.009 .