Social software engineering

Social software engineering allows us to study the structure and dynamics of socio-technical systems. On the one hand, we can extract the social structure of software developer teams, i.e., the producers, on the other hand we can analyse the structure of the software code, i.e., the product. Hence, we can address the relation between collaboration and productivity using very fine-grained data resolution.

Structure and dynamics of software systems

Typical modern software systems consist of hundreds or even thousands of interdependent modules or subsystems, which are working together in complex ways and which mutually depend on each others’ functionality. A proper understanding of the structure of such software systems, as well as of the evolution of these structures as their development progresses is fundamental for the design and management of secure, reliable and maintainable software. Naturally, such systems can be studied from a complex networks perspective, where functions, classes, or packages are represented by nodes and the interdependencies between them are modeled as links.

Collaboration in software developer teams

Open Source software is created by self-organized teams of developers. These teams are very dynamic as members join or leave, and individual productivity varies over time. Hence, the collaboration structure, the distribution of tasks and responsibilities in software development teams will positively or negatively affect the performance of the project. Analysing large-scale data sets with state-of-the-art methods from complex networks and machine learning, we can quantify the coordination effort within teams and their productivity dependent on team size.

Related Publications

Detecting and Optimising Team Interactions in Software Development

PLOS One - 2024

Christian Zingg, Alexander von Gernler, Carsten Arzig, Frank Schweitzer and Christoph Gote

Locating Community Smells in Software Development Processes Using Higher-Order Network Centralities

Social Network Analysis and Mining - 2023

Christoph Gote, Vincenzo Perri, Christian Zingg, Giona Casiraghi, Carsten Arzig, Alexander von Gernler, Frank Schweitzer and Ingo Scholtes

Big Data = Big Insights? Operationalising Brooks' Law in a Massive GitHub Data Set

2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE) - 2022

Christoph Gote, Pavlin Mavrodiev, Frank Schweitzer and Ingo Scholtes

The downside of heterogeneity: How established relations counteract systemic adaptivity in tasks assignments

Entropy, 23(12), 1677 - 2021

Giona Casiraghi, Christian Zingg and Frank Schweitzer

gambit - An Open Source Name Disambiguation Tool for Version Control Systems

2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR) - 2021

Christoph Gote and Christian Zingg

Analysing time-stamped co-editing networks in software development teams using git2net

Empirical Software Engineering - 2021

Christoph Gote, Ingo Scholtes and Frank Schweitzer

git2net - An Open Source Package to Mine Time-Stamped Collaboration Networks from Large git Repositories

Proceedings of the 16th International Conference on Mining Software Repositories - 2019

Christoph Gote, Ingo Scholtes and Frank Schweitzer

From Aristotle to Ringelmann: A large-scale analysis of team productivity and coordination in Open Source Software projects

Empirical Software Engineering - 2016

Ingo Scholtes, Pavlin Mavrodiev and Frank Schweitzer

A Complex Networks Perspective On Collaborative Software Engineering

ACS - Advances in Complex Systems - 2015

Marcelo Cataldo, Ingo Scholtes and Giuseppe Valetto

Social Network Analysis in the Enterprise: Challenges and Opportunities

Socioinformatics-The Social Impact of Interactions between Humans and IT - 2014

Valentin Burger, David Hock, Ingo Scholtes, Tobias Hofeld, David Garcia and Michael Seufert

How do OSS projects change in number and size? A large-scale analysis to test a model of project growth

ACS - Advances in Complex Systems - 2014

Frank Schweitzer, Vahan Nanumyan, Claudio Juan Tessone and Xi Xia

Communication In Innovation Communities: An Analysis Of 100 Open Source Software Projects

ACS - Advances in Complex Systems - 2014

Markus Michael Geipel, Kerstin Press and Frank Schweitzer

Automated Software Remodularization Based on Move Refactoring

13th International Conference on Modularity - 2014

Marcelo Serrano Zanetti, Claudio Juan Tessone, Ingo Scholtes and Frank Schweitzer

The Role of Emotions in Contributors Activity: A Case Study of the Gentoo Community

IEEE Third International Conference on Cloud and Green Computing - 2013

David Garcia, Marcelo Serrano Zanetti and Frank Schweitzer

The rise and fall of a central contributor: Dynamics of social organization and performance in the Gentoo community

CHASE/ICSE '13 Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering - 2013

Marcelo Serrano Zanetti, Ingo Scholtes, Claudio Juan Tessone and Frank Schweitzer

Categorizing bugs with social networks: A case study on four open source software communities

ICSE '13 Proceedings of the 35th International Conference on Software Engineering - 2013

Marcelo Serrano Zanetti, Ingo Scholtes, Claudio Juan Tessone and Frank Schweitzer

The Link between Dependency and Cochange: Empirical Evidence

IEEE Transactions on Software Engineering - 2012

Markus Michael Geipel and Frank Schweitzer

The co-evolution of socio-technical structures in sustainable software development: Lessons from the open source software communities

34th International Conference on Software Engineering - 2012

Marcelo Serrano Zanetti

Organic design of massively distributed systems: A complex networks perspective

Informatik Spektrum - 2012

Ingo Scholtes and Claudio Juan Tessone

Modularity, Dependence and Change

Advances in Complex Systems - 2012

Markus Michael Geipel

A quantitative study of social organisation in open source software communities

In Proceedings of the 2012 Imperial College Computing Student Workshop - 2012

Marcelo Serrano Zanetti, Emre Sarigol, Ingo Scholtes, Claudio Juan Tessone and Frank Schweitzer

A network perspective on software modularity

Architecture of Computing Systems (ARCS) Workshops 2012 - 2012

Marcelo Serrano Zanetti and Frank Schweitzer

Sustainable growth in complex networks

Europhysics Letters - 2011

Claudio Juan Tessone, Markus Michael Geipel and Frank Schweitzer

A complementary view on the growth of directory trees

The European Physical Journal B - 2009

Markus Michael Geipel, Claudio Juan Tessone and Frank Schweitzer

Software change dynamics: Evidence from 35 Java projects

Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering - 2009

Markus Michael Geipel and Frank Schweitzer

Self-organization applied to dynamic network layout

International Journal of Modern Physics C - 2007

Markus Michael Geipel