COMPLEX DEPENDENCIES IN LARGE SOFTWARE SYSTEMS

2009 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    40
    References
    22
    Citations
    NaN
    KQI
    []