• Go Mobile »
  • Access by Staats- und Universitaetsbibliothek Bremen

Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs

Phys. Rev. E 68, 046116 – Published 20 October 2003
Christopher R. Myers

Abstract

Software systems emerge from mere keystrokes to form intricate functional networks connecting many collaborating modules, objects, classes, methods, and subroutines. Building on recent advances in the study of complex networks, I have examined software collaboration graphs contained within several open-source software systems, and have found them to reveal scale-free, small-world networks similar to those identified in other technological, sociological, and biological systems. I present several measures of these network topologies, and discuss their relationship to software engineering practices. I also present a simple model of software system evolution based on refactoring processes which captures some of the salient features of the observed systems. Some implications of object-oriented design for questions about network robustness, evolvability, degeneracy, and organization are discussed in the wake of these findings.

DOI: http://dx.doi.org/10.1103/PhysRevE.68.046116

  • Published 20 October 2003
  • Received 27 May 2003

Authors & Affiliations

Christopher R. Myers

  • Cornell Theory Center, Rhodes Hall, Cornell University, Ithaca, New York 14853, USA

References

Click to Expand

Authorization Required


×
×

Images

1 of 0
    ×

    Log In

    Cancel
    ×

    Search


    Article Lookup
    Paste a citation or DOI

    Enter a citation
    ×

    Reuse & Permissions

    It is not necessary to obtain permission to reuse this article or its components as it is available under the terms of the Creative Commons Attribution 3.0 License. This license permits unrestricted use, distribution, and reproduction in any medium, provided attribution to the author(s) and the published article's title, journal citation, and DOI are maintained. Please note that some figures may have been included with permission from other third parties. It is your responsibility to obtain the proper permission from the rights holder directly for these figures.

    ×