Evolution of a modular software network

Miguel A. Fortuna, Juan A. Bonachela, Simon A. Levin

Research output: Contribution to journalArticle

31 Citations (Scopus)

Abstract

"Evolution behaves like a tinkerer" (François Jacob, Science, 1977). Software systems provide a singular opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to explore the evolution of a complex network in a unique way. The modular design detected during its growth is based on the reuse of existing code in order to minimize costs during programming. The increase of modularity experienced by the system over time has not counterbalanced the increase in incompatibilities between software packages within modules. This negative effect is far from being a failure of design. A random process of package installation shows that the higher the modularity, the larger the fraction of packages working properly in a local computer. The decrease in the relative number of conflicts between packages from different modules avoids a failure in the functionality of one package spreading throughout the entire system. Some potential analogies with the evolutionary and ecological processes determining the structure of ecological networks of interacting species are discussed.

Original languageEnglish
Pages (from-to)19985-19989
Number of pages5
JournalProceedings of the National Academy of Sciences
Volume108
Issue number50
DOIs
Publication statusPublished - 13 Dec 2011

Fingerprint

Software
Biological Phenomena
Costs and Cost Analysis
Growth

Keywords

  • community assembly
  • evolvability
  • food webs
  • network evolution
  • robustness

Cite this

Fortuna, Miguel A. ; Bonachela, Juan A. ; Levin, Simon A. / Evolution of a modular software network. In: Proceedings of the National Academy of Sciences . 2011 ; Vol. 108, No. 50. pp. 19985-19989.
@article{1b7b28cd686f4112a19bf31d2049d1f0,
title = "Evolution of a modular software network",
abstract = "{"}Evolution behaves like a tinkerer{"} (Fran{\cc}ois Jacob, Science, 1977). Software systems provide a singular opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to explore the evolution of a complex network in a unique way. The modular design detected during its growth is based on the reuse of existing code in order to minimize costs during programming. The increase of modularity experienced by the system over time has not counterbalanced the increase in incompatibilities between software packages within modules. This negative effect is far from being a failure of design. A random process of package installation shows that the higher the modularity, the larger the fraction of packages working properly in a local computer. The decrease in the relative number of conflicts between packages from different modules avoids a failure in the functionality of one package spreading throughout the entire system. Some potential analogies with the evolutionary and ecological processes determining the structure of ecological networks of interacting species are discussed.",
keywords = "community assembly, evolvability, food webs, network evolution, robustness",
author = "Fortuna, {Miguel A.} and Bonachela, {Juan A.} and Levin, {Simon A.}",
year = "2011",
month = "12",
day = "13",
doi = "10.1073/pnas.1115960108",
language = "English",
volume = "108",
pages = "19985--19989",
journal = "Proceedings of the National Academy of Sciences",
issn = "1091-6490",
number = "50",

}

Fortuna, MA, Bonachela, JA & Levin, SA 2011, 'Evolution of a modular software network', Proceedings of the National Academy of Sciences , vol. 108, no. 50, pp. 19985-19989. https://doi.org/10.1073/pnas.1115960108

Evolution of a modular software network. / Fortuna, Miguel A.; Bonachela, Juan A.; Levin, Simon A.

In: Proceedings of the National Academy of Sciences , Vol. 108, No. 50, 13.12.2011, p. 19985-19989.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Evolution of a modular software network

AU - Fortuna, Miguel A.

AU - Bonachela, Juan A.

AU - Levin, Simon A.

PY - 2011/12/13

Y1 - 2011/12/13

N2 - "Evolution behaves like a tinkerer" (François Jacob, Science, 1977). Software systems provide a singular opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to explore the evolution of a complex network in a unique way. The modular design detected during its growth is based on the reuse of existing code in order to minimize costs during programming. The increase of modularity experienced by the system over time has not counterbalanced the increase in incompatibilities between software packages within modules. This negative effect is far from being a failure of design. A random process of package installation shows that the higher the modularity, the larger the fraction of packages working properly in a local computer. The decrease in the relative number of conflicts between packages from different modules avoids a failure in the functionality of one package spreading throughout the entire system. Some potential analogies with the evolutionary and ecological processes determining the structure of ecological networks of interacting species are discussed.

AB - "Evolution behaves like a tinkerer" (François Jacob, Science, 1977). Software systems provide a singular opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to explore the evolution of a complex network in a unique way. The modular design detected during its growth is based on the reuse of existing code in order to minimize costs during programming. The increase of modularity experienced by the system over time has not counterbalanced the increase in incompatibilities between software packages within modules. This negative effect is far from being a failure of design. A random process of package installation shows that the higher the modularity, the larger the fraction of packages working properly in a local computer. The decrease in the relative number of conflicts between packages from different modules avoids a failure in the functionality of one package spreading throughout the entire system. Some potential analogies with the evolutionary and ecological processes determining the structure of ecological networks of interacting species are discussed.

KW - community assembly

KW - evolvability

KW - food webs

KW - network evolution

KW - robustness

UR - http://www.scopus.com/inward/record.url?scp=84055179000&partnerID=8YFLogxK

U2 - 10.1073/pnas.1115960108

DO - 10.1073/pnas.1115960108

M3 - Article

VL - 108

SP - 19985

EP - 19989

JO - Proceedings of the National Academy of Sciences

JF - Proceedings of the National Academy of Sciences

SN - 1091-6490

IS - 50

ER -