Программная энтропия - Software entropy

Работа над программная инженерия к Ивар Якобсон и другие.[1]описывает программная энтропия следующее:

В второй закон термодинамики, в принципе, утверждает, что закрытая система с беспорядок не может быть уменьшен, он может только оставаться неизменным или увеличиваться. Мера этого расстройства - энтропия. Этот закон также кажется правдоподобным для программные системы; по мере модификации системы ее беспорядок или энтропия имеет тенденцию к увеличению. Это известно как программная энтропия.
В разработка программного обеспечения, есть похожие теории; см. Lehman (1985),[2] который предложил ряд законов, два из которых, в основном, были следующими:
  1. А компьютерная программа который используется, будет изменен
  2. Когда программа изменяется, ее сложность будет увеличиваться при условии, что против этого активно не работать.

Эндрю Хант и Дэвид Томас используют починка разбитых окон как метафора, позволяющая избежать энтропии программного обеспечения при разработке программного обеспечения.[3]

Процесс рефакторинг кода может привести к ступенчатому снижению энтропии программного обеспечения.

Энтропия программного обеспечения увеличивается с накоплением технический долг.

Смотрите также

Рекомендации

  1. ^ Якобсон, Ивар; Кристерсон, Магнус; Йонссон, Патрик; Овергард, Гуннар (1992), Объектно-ориентированная разработка программного обеспечения: подход, основанный на сценариях использования, ACM Press. Эддисон-Уэсли, стр.69–70, ISBN  0-201-54435-0
  2. ^ Lehman, M. M .; Белады, Л.А. (1985), Эволюция программы: процессы изменения программного обеспечения, Academic Press, ISBN  9780124424401
  3. ^ Хант, Эндрю; Томас, Дэвид (1999), Прагматичный программист, Эддисон Уэсли, ISBN  0-201-61622-X- Пункт 4 (из 22 советов) Не живи с разбитыми окнами.
  4. ^ Войнович, Майкл; Чисхолм, Гленн; Вольф, Мэтт; Чжао, Сюань (2016). «Вейвлет-разложение энтропии программного обеспечения выявляет симптомы вредоносного кода». Журнал инноваций в цифровых экосистемах. 3 (2): 130–140. Дои:10.1016 / j.jides.2016.10.009.