Using Networks to Understand the Dynamics of Software Development
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.
KeywordsSoftware Development Source Line Closeness Centrality Giant Component Software Development Process
Unable to display preview. Download preview PDF.
- 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
- 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.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.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
- 10.Crowston, K., Howison, J.: The social structure of free and open source software development. First Monday 10(2) (2005)Google Scholar
- 13.Barabasi, A.-L., Bonabeau, E.: Scale-free networks. Scientific American, 50–59 (2003)Google Scholar