Abstract
Open Source Software projects are communities in which people “learn the ropes” from each other. The social and technical activities of developers evolve together, and as they link to each other they get organized in a network of changing socio-technical connections. Traces of those activities, or behaviors, are typically visible to all, in project repositories and through communication between them. Thus, in principle it may be possible to study those traces to tell which of the observable socio-technical behaviors of developers in these projects are responsible for the forming of persistent links between them. It may also be possible to tell the extent to which links participate in the spread of potential behavioral influences. Since OSS projects change in both social and technical activity over time, static approaches, that either ignore time or simplify it to a few slices, are frequently inadequate to study these networks. On the other hand, ad-hoc dynamic approaches are often only loosely supported by theory and can yield misleading findings. Here we adapt the stochastic actor-oriented models from social network analysis. These models enable the study of the interplay between behavior, influence and network architecture, for dynamic networks, in a statistically sound way. We apply the stochastic actor-oriented models in case studies of two Apache Software Foundation projects, and study code ownership and developer productivity as behaviors. For those, we find evidence of significant social selection effects (homophily) in both projects, but in different directions. However, we find no evidence for the spread (social influence) of either code ownership or developer productivity behaviors through the networks.
Similar content being viewed by others
Notes
The problem of causal inference is not limited to the study of epidemiological processes.
Also, these alternative models generally lack fundamental statistical data fitting ability.
We built separate models for each consecutive wave and estimated parameters for each separate model to test this assumption. These parameter estimates were then compared across models. There were no significant departures in these tests to indicate non-constant parameter estimates across time.
Not to be confused with the SIENA model rate parameter, described in Section 5.1.4.
Note that this is equivalently the smallest such β.
Axis2/Java had high fluctuations in activity (both social and technical) towards the beginning its lifetime. As a result, model estimations which included these time periods proved difficult to estimate; in particular, the number of ministeps required before arriving at the time for the next wave became too large. As we are interested in the average social and technical behaviors of projects, the offending waves were removed from the analysis for this project.
The authors also attempted to use an equal number of days as a separator of waves. However, this led to extreme skew and imbalance in network size (nodes and ties) as projects tend to have “burst” activity behavior; earlier waves were much less varied compared to later waves.
In particular, there were instabilities in estimating the network rate parameters – the number of “chances” an actor has to change its ties.
The choice of 8 waves is likely specific to our data – SIENA supports any number of waves, though time complexity increases with more waves.
We initially built models on 3 projects: Ant, Axis2/Java, and Derby. However, Derby results were similar to Axis2/Java results (e.g. positive behavioral selection). As we are interested in presenting case studies of the application of the SAOM method in OSS, we only discuss results for Ant and Axis2/Java.
An exception to this rule exists if the ego X alter interaction selection effect is most significant. In this case, one must control for the lower level structures of ego value and alter value when estimating the interaction effect. This is standard practice in general statistical modeling.
Note that z j is used here to represent actor j’s behavioral value, while the z parameter is missing from the function signature. This is to emphasize that z j here is treated as a covariate and is not modeled by the network objective function.
For file ownership behavior in Axis2/Java (Table 6), addition of the influence effect of average alter caused high instability in estimation of the model. As a result, the model for high file ownership behavior only includes the linear shape and quadratic shape parameters. The exclusion of this parameter in the model should not appreciably affect our outcomes or goodness of fit as the score-type test of this parameter suggested insignificance
Evidence of clustering initially raised a concern with the authors that the constructed networks had extreme levels of clustering. Further analysis showed that this was not the case; the clustering is at an acceptable level according to prior work in these social networks.
Recall that we did not estimate average alter influence for the high file ownership model in this case.
References
Anderson RM, May RM, Anderson B (1992) Infectious diseases of humans: dynamics and control, vol 28. Wiley Online Library
Baerveldt C, de la Rúa F, Van de Bunt GG, et al (2010) Why and how selection patterns in classroom networks differ between students. the potential influence of networks size preferences, level of information, and group membership, vol 19, pp 0273–298
Barabási AL, Albert R (1999) Emergence of scaling in random networks. Science 286(5439):509–512
Barthélemy M, Barrat A, Pastor-Satorras R, Vespignani A (2005) Dynamical patterns of epidemic outbreaks in complex heterogeneous networks. J Theor Biol 235 (2):275–288
Basili VR, Caldiera G (1995) Improve software quality by reusing knowledge and experience. Sloan Manag Rev:55–64
Batagelj V, Bren M (1995) Comparing resemblance measures. J Classif 12(1):73–90
Berardo R (2014) The evolution of self-organizing communication networks in high-risk social-ecological systems. Int J Commons 8(1):236–258
Bettenburg N, Hassan AE (2010) Studying the impact of social structures on software quality. In: 2010 IEEE 18th international conference on program comprehension (ICPC). IEEE, pp 124–133
Bird C, Gourley A, Devanbu P, Gertz M, Swaminathan A (2006) Mining email social networks. In: Proceedings of the 2006 international workshop on Mining software repositories. ACM, pp 137–143
Bird C, Nagappan N, Gall H, Murphy B, Devanbu P (2009) Putting it all together: Using socio-technical networks to predict failures. In: ISSRE’09. 20th international symposium on software reliability engineering, 2009. IEEE, pp 109–119
Bird C, Nagappan N, Murphy B, Gall H, Devanbu P (2011) Don’t touch my code!: examining the effects of ownership on software quality. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. ACM, pp 4–14
Bird C, Pattison D, D’Souza R, Filkov V, Devanbu P (2008) Latent social structure in open source projects. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering. ACM, pp 24–35
Boccaletti S, Latora V, Moreno Y, Chavez M, Hwang DU (2006) Complex networks: structure and dynamics. Phys Rep 424(4):175–308
CAD (1976) C.A.D.: A generai theory of bibiiometric and other cumulative advantage processes. J Am Soc Inf Sci:293
Cardy JL, Grassberger P (1985) Epidemic models and percolation. J Phys A Math Gen 18(6):L267
Cataldo M, Wagstrom PA, Herbsleb JD, Carley KM (2006) Identification of coordination requirements: implications for the design of collaboration and awareness tools. In: Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work. ACM, pp 353– 362
Cheadle JE, Stevens M, Williams DT, Goosby BJ (2013) The differential contributions of teen drinking homophily to new and existing friendships: an empirical assessment of assortative and proximity selection mechanisms. Soc Sci Res 42 (5):1297–1310
Cherry S, Robillard PN (2008) The social side of software engineeringa real ad hoc collaboration network. Int J Hum Comput Stud 66(7):495–505
Cohen-Cole E, Fletcher JM (2008) Detecting implausible social network effects in acne, height, and headaches: longitudinal analysis. Bmj 337
Cohen-Cole E, Fletcher JM (2008) Is obesity contagious? Social networks vs. environmental factors in the obesity epidemic. J Health Econ 27(5):1382–1387
Crowston K, Howison J (2005) The social structure of free and open source software development. First Monday 10(2)
Curtis B, Krasner H, Iscoe N (1988) A field study of the software design process for large systems. Commun ACM 31(11):1268–1287
Davis JA (1970) Clustering and hierarchy in interpersonal relations: Testing two graph theoretical models on 742 sociomatrices. Am Sociol Rev:843–851
De Souza C, Froehlich J, Dourish P (2005) Seeking the source: software source code as a social and technical artifact. In: Proceedings of the 2005 international ACM SIGGROUP conference on Supporting group work. ACM, pp 197–206
Ducheneaut N (2005) Socialization in an open source software community: a socio-technical analysis. Comput Supported Coop Work (CSCW) 14(4):323–368
Fong Boh W, Slaughter SA, Espinosa JA (2007) Learning from experience in software development: a multilevel analysis. Manag Sci 53(8):1315–1331
Gharehyazie M, Posnett D, Filkov V (2013) Social activities rival patch submission for prediction of developer initiation in oss projects. In: 2013 29th IEEE international conference on software maintenance (ICSM). IEEE, pp 340–349
Gharehyazie M, Posnett D, Vasilescu B, Filkov V (2014) Developer initiation and social interactions in oss: A case study of the apache software foundation. Empir Softw Eng:1–36
Goeminne M, Mens T (2013) A comparison of identity merge algorithms for software repositories. Sci Comput Program 78(8):971–986
Greenan CC (2014) Diffusion of innovations in dynamic networks. J R Stat Soc: Ser A (Statistics in Society)
Halliday TJ, Kwak S (2009) Weight gain in adolescents and their peers. Econ Hum Biol 7(2):181–190
Hintze JL, Nelson RD (1998) Violin plots: a box plot-density trace synergism. Am Stat 52(2):181–184
Holland PW, Leinhardt S (1971) Transitivity in structural models of small groups. Comparative Group Studies
Holme P (2003) Network dynamics of ongoing social relationships. EPL (Europhys Lett) 64(3):427
Hong Q, Kim S, Cheung S, Bird C (2011) Understanding a developer social network and its evolution. In: 2011 27th IEEE international conference on software maintenance (ICSM). IEEE, pp 323–332
Jaccard P (1912) The distribution of the flora in the alpine zone. 1. New Phytol 11(2):37–50
Jackson MO, Rogers BW (2007) Meeting strangers and friends of friends: How random are social networks? Am Econ Rev:890–915
Johnson B, Song Y, Murphy-Hill E, Bowdidge R (2013) Why don’t software developers use static analysis tools to find bugs?. In: 2013 35th international conference on software engineering (ICSE). IEEE, pp 672–681
Koskinen J, Edling C (2012) Modelling the evolution of a bipartite networkpeer referral in interlocking directorates. Soc Networks 34(3):309–322
Kouters E, Vasilescu B, Serebrenik A, van den Brand MG (2012) Who’s who in gnome: using lsa to merge software repository identities. In: 2012 28th IEEE international conference on software maintenance (ICSM). IEEE, pp 592–595
Lazega E, Mounier L, Tubaro P, et al (2011) Norms, advice networks and joint economic governance: the case of conflicts among shareholders at the commercial court of paris. Does Economic Governance Matter:46–70
Lopez-Fernandez L, Robles G, Gonzalez-Barahona JM, et al (2004) Applying social network analysis to the information in cvs repositories. In: International workshop on mining software repositories. IET, pp 101–105
Lospinoso J (2010) Testing and modeling time heterogeneity in longitudinal studies of social networks. A tutorial in rsiena
Lospinoso J (2012) Statistical models for social network dynamics. Ph.D. thesis, Oxford University
Lospinoso JA, Schweinberger M, Snijders TA, Ripley RM (2011) Assessing and accounting for time heterogeneity in stochastic actor oriented models. ADAC 5 (2):147–176
Madey G, Freeh V, Tynan R (2002) The open source software development phenomenon: an analysis based on social network theory. AMCIS 2002 Proc:247
Manski CF (1993) Identification of endogenous social effects: the reflection problem. Rev Econ Stud 60(3):531–542
Meneely A, Williams L (2009) Secure open source collaboration: an empirical study of linus’ law. In: Proceedings of the 16th ACM conference on Computer and communications security. ACM, pp 453– 462
Meneely A, Williams L, Snipes W, Osborne J (2008) Predicting failures with developer networks and social network analysis. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering. ACM, pp 13–23
Mockus A (2007) Large-scale code reuse in open source software. In: First International Workshop on Emerging Trends in FLOSS Research and Development, 2007. FLOSS’07. IEEE, pp 7–7
Nagappan N, Murphy B, Basili V (2008) The influence of organizational structure on software quality: an empirical case study. In: Proceedings of the 30th international conference on Software engineering. ACM, pp 521–530
Newman ME (2002) Spread of epidemic disease on networks. Phys Rev E 66 (1):016-128
Pastor-Satorras R, Vespignani A (2001) Epidemic spreading in scale-free networks. Phys Rev Lett 86(14):3200
Pinzger M, Nagappan N, Murphy B (2008) Can developer-module networks predict failures?. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering. ACM, pp 2–12
Rahman F, Devanbu P (2011) Ownership, experience and defects: a fine-grained study of authorship. In: Proceedings of the 33rd international conference on software engineering. ACM, pp 491–500
Ripley RM, Snijders TA, Boda Z, Vörös A, Preciado P (2014) Manual for siena version 4.0. University of Oxford
Rogers EM (2010) Diffusion of innovations. Simon and Schuster
Ruths J, Ruths D (2014) Control profiles of complex networks. Science 343(6177):1373–1376
Scacchi W, Feller J, Fitzgerald B, Hissam S, Lakhani K (2006) Understanding free/open source software development processes. Software Process: Improvement and Practice 11(2):95–105
Schweinberger M (2012) Statistical modelling of network panel data: Goodness of fit. Br J Math Stat Psychol 65(2):263–281
Schweinberger M., Snijders TA (2007) Markov models for digraph panel data: Monte carlo-based derivative estimation. Computational statistics & data analysis 51(9):4465–4483
Shalizi CR, Thomas AC (2011) Homophily and contagion are generically confounded in observational social network studies. Sociol Methods Res 40(2):211–239
Shi H, Duan Z, Chen G (2008) An sis model with infective medium on complex networks. Physica A: Statistical Mechanics and its Applications 387(8):2133–2144
Singh PV (2010) The small-world effect: The influence of macro-level properties of developer collaboration networks on open-source project success. ACM Trans Softw Eng Methodol (TOSEM) 20(2):6
Snijders T, van Duijn M (1997) Simulation for statistical inference in dynamic network models. In: Simulating social phenomena. Springer, pp 493–512
Snijders T, Steglich C, Schweinberger M (2007) Modeling the coevolution of networks and behavior. na
Snijders TA (1996) Stochastic actor-oriented models for network change. J Math Sociol 21(1–2):149– 172
Snijders TA (2001) The statistical evaluation of social network dynamics. Sociol Methodol 31(1):361– 395
Snijders TA (2005) Models for longitudinal network data. Models and methods in social network analysis 1:215–247
Snijders TA (2014) Siena algorithms
Snijders TA, Van de Bunt GG, Steglich CE (2010) Introduction to stochastic actor-based models for network dynamics. Soc Networks 32(1):44–60
Snijders TA, Koskinen J, Schweinberger M, et al (2010) Maximum likelihood estimation for social network dynamics. Ann Appl Stat 4(2):567–588
Snijders TA, Lomi A, Torló VJ (2013) A model for the multiplex dynamics of two-mode and one-mode networks, with an application to employment preference, friendship, and advice. Soc Networks 35(2):265–276
Steglich C, Snijders TA, Pearson M (2010) Dynamic networks and behavior: separating selection from influence. Sociol Methodol 40(1):329–393
Storey MA, Treude C, van Deursen A, Cheng LT (2010) The impact of social media on software engineering practices and tools. In: Proceedings of the FSE/SDP workshop on Future of software engineering research. ACM, pp 359–364
Vasilescu B, Serebrenik A, Goeminne M, Mens T (2014) On the variation and specialisation of workloada case study of the gnome ecosystem community. Empir Softw Eng 19(4):955–1008
Veenstra R, Dijkstra JK, Steglich C, Van Zalk MH (2013) Network–behavior dynamics. J Res Adolesc 23(3):399–412
Vespignani A (2012) Modelling dynamical processes in complex socio-technical systems. Nat Phys 8(1):32–39
Wasserman S (1980) A stochastic model for directed graphs with transition rates determined by reciprocity. Sociol Methodol 11:392–412
Wasserman S (1994) Social network analysis: methods and applications, vol 8. Cambridge university press
Wasserman S, Iacobucci D (1988) Sequential social network data. Psychometrika 53(2):261–282
Weyuker EJ, Ostrand TJ, Bell RM (2008) Do too many cooks spoil the broth? using the number of developers to enhance defect prediction models. Empir Softw Eng 13(5):539–559
Xuan Q, Devanbu PT, Filkov V (2014) Converging work-talk patterns in online task-oriented communities. arXiv:1404.5708
Xuan Q, Filkov V (2014) Building it together: synchronous development in oss. In: Proceedings of the 36th international conference on software engineering. ACM, pp 222–233
Zeggelink E (1994) Dynamics of structure: an individual oriented approach. Soc Networks 16(4):295–333
Zhang H, Fu X (2009) Spreading of epidemics on scale-free networks with nonlinear infectivity. Nonlinear Anal Theory, Methods & Applications 70(9):3273–3278
Acknowledgments
The authors want to thank Mohammad Gharehyazie for sharing his ASF project data. We thank Saheel Godhane for fruitful discussion during the early stages of the project. We thank anonymous reviewers for their helpful suggestions on prior versions of manuscript. The authors gratefully acknowledge support from the Air Force Office of Scientific Research, award FA955-11-1-0246, and a faculty grant from UC Davis. The authors are thankful for generous support from UC Davis.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Emerson Murphy-Hill
Data and scripts used in this work can be found at http://web.cs.ucdavis.edu/~filkov/software/ASF-Siena/.
Rights and permissions
About this article
Cite this article
Kavaler, D., Filkov, V. Stochastic actor-oriented modeling for studying homophily and social influence in OSS projects. Empir Software Eng 22, 407–435 (2017). https://doi.org/10.1007/s10664-016-9431-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-016-9431-y