Christoph Gote

Christoph Gote – ETH Zürich

Christoph Gote

Christoph Gote (ETH Zürich): Collaborating With Code: Understanding Co-editing Patterns in Git Repositories

Abstract | Collaborative software development requires effective coordination, often facilitated through version control systems such as git. In the first part of this talk, I will present how we can use the traces left in git repositories to mine time-stamped co-editing networks. These networks capture developer collaboration, with nodes representing developers and edges capturing events where one developer edits code owned by another. In the second part of the talk, I will present some insights analysing these networks have provided, including how team productivity scales with team size and how coordination overhead and co-editing patterns affect this scaling. Finally, we will examine the resilience of software development teams, how resilience relates to productivity, and strategies for identifying and mitigating potential issues in team interactions. In summary, this talk will show how studying time-stamped co-editing networks can lead to a better understanding of team productivity and resilience, ultimately improving collaborative software development.

Bio | Christoph Gote is a Postdoctoral Researcher at the Chair of Systems Design at ETH Zurich and at the Data Analytics Group at the University of Zurich. His research focuses on the analysis of collaboration structures in software development teams. To this end, he develops tools, such as git2net and gambit, that facilitate the extraction and cleaning of action and interaction data from git repositories. From these actions and interactions, he subsequently derives fine-grained social and technical networks. Based on these networks, he studies topics such as the optimal size for teams, the relationship between coordination structures and team productivity, the emergence of hierarchies, and team resilience. For this research, he applies a broad range of methods from data-driven modelling, statistics, machine learning, and network analysis. In addition, he develops state-of-the-art techniques for temporal-, higher-, and multi-order network analysis.