English

Complex Dependencies in Large Software Systems

Adaptation and Self-Organizing Systems 2010-01-19 v3 Software Engineering Physics and Society

Abstract

Two large, open source software systems are analyzed from the vantage point of complex adaptive systems theory. For both systems, the full dependency graphs are constructed and their properties are shown to be consistent with the assumption of stochastic growth. In particular, the afferent links are distributed according to Zipf's law for both systems. Using the Small-World criterion for directed graphs, it is shown that contrary to claims in the literature, these software systems do not possess Small-World properties. Furthermore, it is argued that the Small-World property is not of any particular advantage in a standard layered architecture. Finally, it is suggested that the eigenvector centrality can play an important role in deciding which open source software packages to use in mission critical applications. This comes about because knowing the absolute number of afferent links alone is insufficient to decide how important a package is to the system as a whole, instead the importance of the linking package plays a major role as well.

Keywords

Cite

@article{arxiv.0904.0087,
  title  = {Complex Dependencies in Large Software Systems},
  author = {G. A. Kohring},
  journal= {arXiv preprint arXiv:0904.0087},
  year   = {2010}
}

Comments

24 pages, 5 figures. Revised paper in line with 2nd round of reviewer's comments

R2 v1 2026-06-21T12:46:57.074Z