Using Networks to Understand the Dynamics of Software Development

  • Christopher Roach
  • Ronaldo Menezes
Part of the Communications in Computer and Information Science book series (CCIS, volume 116)

Abstract

Software engineering, being a relatively new field, has struggled to find ways of gauging the success/failure of development projects. The ability to determine which developers are most crucial to the success of a project, which areas in the project contain the most risk, etc. has remained elusive, thus far. Metrics such as SLOC (Source Lines of Code) continue to be used to determine the efficacy of individual developers on a project despite many well-documented deficiencies of this approach. In this work, we propose a new way to look at software development using network science. We examine one large open-source software development project—the Python programming language—using networks to explain and understand the dynamics of the software development process. Past works have focused on the open source community as a whole and the relationships between the members within. This work differs in that it looks at a single project and studies the relationships between the developers using the source code they create or work on. We begin our analysis with a description of the basic characteristics of the networks used in this project. We follow with the main contribution of this work which is to examine the importance of the developer within their organization based on their centrality measures in networks such as degree, betweenness, and closeness.

Keywords

Software Development Source Line Closeness Centrality Giant Component Software Development Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Naur, P., Randell, B.: Software engineering: Report of a conference sponsored by the nato science committee. Technical report, North Atlantic Treaty Organization (1968)Google Scholar
  2. 2.
    Fenton, N.E., Neil, M.: Software metrics: successes, failures and new directions. Journal of Systems and Software 47(2-3), 149–157 (1999)CrossRefGoogle Scholar
  3. 3.
    Sheetz, S.D., Henderson, D., Wallace, L.: Understanding developer and manager perceptions of function points and source lines of code. Journal of Systems and Software 82(9), 1540–1549 (2009)CrossRefGoogle Scholar
  4. 4.
    Eick, S.C., Steffen, J.L., Sumner, E.E.: Seesoft-a tool for visualizing line oriented software statistics. IEEE Transactions on Software Engineering 18(11), 957–968 (1992)CrossRefGoogle Scholar
  5. 5.
    Voinea, L., Telea, A., Wijk, J.: CVSscan: visualization of code evolution. In: SoftVis 2005: Proceedings of the 2005 ACM Symposium on Software Visualization (May 2005)Google Scholar
  6. 6.
    Gîrba, T., Kuhn, A., Seeberger, M., Ducasse, S.: How developers drive software evolution. In: Eighth International Workshop on Principles of Software Evolution, pp. 113– 122 (2005)Google Scholar
  7. 7.
    Madey, G., Freeh, V., Howison, J.: The open source software development phenomenon: An analysis based on social network theory. In: Proceedings of AMCIS 2002 (2002)Google Scholar
  8. 8.
    Watts, D.J., Strogatz, S.H.: Collective dynamics of small world networks. Nature 393, 440–442 (1998)CrossRefGoogle Scholar
  9. 9.
    Barabási, A.-L., Albert, R.: Emergence of scaling in random networks. Science 286(5439), 509–512 (1999)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Crowston, K., Howison, J.: The social structure of free and open source software development. First Monday 10(2) (2005)Google Scholar
  11. 11.
    Lewis, T.G. (ed.): Network Science: Theory and Applications. Wiley, Chichester (2009)MATHGoogle Scholar
  12. 12.
    Pastor-Satorras, R., Vespignani, A.: Immunization of complex networks. Phys. Rev. E 65(3), 036104 (2002)CrossRefGoogle Scholar
  13. 13.
    Barabasi, A.-L., Bonabeau, E.: Scale-free networks. Scientific American, 50–59 (2003)Google Scholar
  14. 14.
    Opsahl, T., Agneessens, F., Skvoretz, J.: Node centrality in weighted networks: Generalizing degree and shortest paths. Social Networks 32(3), 245–251 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Christopher Roach
    • 1
  • Ronaldo Menezes
    • 2
  1. 1.Apple, Inc.CupertinoUnited States
  2. 2.Florida Institute of TechnologyMelbourneUnited States

Personalised recommendations