4.4 Article

Evolutionary trends of developer coordination: a network approach

Journal

EMPIRICAL SOFTWARE ENGINEERING
Volume 22, Issue 4, Pages 2050-2094

Publisher

SPRINGER
DOI: 10.1007/s10664-016-9478-9

Keywords

Software evolution; Developer coordination; Developer networks

Funding

  1. German Research Foundation [AP 206/4, AP 206/5, AP 206/6]

Ask authors/readers for more resources

Software evolution is a fundamental process that transcends the realm of technical artifacts and permeates the entire organizational structure of a software project. By means of a longitudinal empirical study of 18 large open-source projects, we examine and discuss the evolutionary principles that govern the coordination of developers. By applying a network-analytic approach, we found that the implicit and self-organizing structure of developer coordination is ubiquitously described by non-random organizational principles that defy conventional software-engineering wisdom. In particular, we found that: (a) developers form scale-free networks, in which the majority of coordination requirements arise among an extremely small number of developers, (b) developers tend to accumulate coordination requirements with more and more developers over time, presumably limited by an upper bound, and (c) initially developers are hierarchically arranged, but over time, form a hybrid structure, in which core developers are hierarchically arranged and peripheral developers are not. Our results suggest that the organizational structure of large projects is constrained to evolve towards a state that balances the costs and benefits of developer coordination, and the mechanisms used to achieve this state depend on the project's scale.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

Several lifted abstract domains for static analysis of numerical program families

Aleksandar S. Dimovski, Sven Apel, Axel Legay

Summary: This study presents a lifted (family-based) static analysis technique that can analyze all variants of a program family in a single run, avoiding combinatorial explosion. New symbolic representations are introduced to efficiently analyze program families with numerical features, enabling sharing between property elements corresponding to different variants. Experimental results demonstrate the effectiveness of this method in analyzing program families with large configuration spaces.

SCIENCE OF COMPUTER PROGRAMMING (2022)

Article Computer Science, Software Engineering

How Do Successful and Failed Projects Differ? A Socio-Technical Analysis

Mitchell Joblin, Sven Apel

Summary: Software development intersects the social and technical realms, and a socio-technical perspective provides rich information about a project's state and success. By classifying networks and using network analysis, we can compare and predict outcomes of software projects and identify key factors associated with success.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2022)

Article Computer Science, Software Engineering

Synchronous development in open-source projects: A higher-level perspective

Thomas Bock, Claus Hunsen, Mitchell Joblin, Sven Apel

Summary: Mailing lists are essential for coordinating developers in open-source projects. This study proposes two methods for studying synchronization between collaboration and communication activities from a higher-level perspective, and finds that a higher-level view on developer coordination leads to stronger statistical dependence between technical activities.

AUTOMATED SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Measuring and Modeling Group Dynamics in Open-Source Software Development: A Tensor Decomposition Approach

Thomas Bock, Angelika Schmid, Sven Apel

Summary: Open-source software projects rely on core developers and peripheral developers working together. By analyzing code repository data and mailing-list discussions, relationships and contributions of developers can be modeled to predict future interaction levels of programmers and groups through multi-modal social networks and modeling different types of interaction.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2022)

Article Computer Science, Hardware & Architecture

Green Configuration: Can Artificial Intelligence Help Reduce Energy Consumption of Configurable Software Systems?

Norbert Siegmund, Johannes Dorn, Max Weber, Christian Kaltenecker, Sven Apel

Summary: Reducing energy consumption is crucial for cost-saving and emission reduction in IT systems. This article discusses the limitations of pure artificial intelligence/machine learning methods when focusing on source code and proposes a conceptual framework that combines software engineering methods and ML to develop white-box energy models.

COMPUTER (2022)

Article Computer Science, Software Engineering

In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study

Wolfgang Mauerer, Mitchell Joblin, Damian A. Tamburri, Carlos Paradis, Rick Kazman, Sven Apel

Summary: This study investigates the impact of socio-technical congruence on software quality through a large-scale empirical study, finding no statistical relationship between socio-technical congruence and project quality measures.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Leveraging Structure in Software Merge: An Empirical Study

Georg Seibt, Florian Heck, Guilherme Cavalcanti, Paulo Borba, Sven Apel

Summary: Large-scale software development heavily relies on version control systems to merge diverging versions of code base, typically using line-based merge algorithms. Structured merge algorithms, utilizing structure inherent in source code, aim to reduce manual resolution of merge conflicts. However, they are computationally more expensive than unstructured merges. Combining different strategies may offer the best balance between conflict resolution, runtime, and correctness of merge results.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Mining domain-specific edit operations from model repositories with applications to semantic lifting of model differences and change profiling

Christof Tinnes, Timo Kehrer, Mitchell Joblin, Uwe Hohenstein, Andreas Biesdorf, Sven Apel

Summary: Model transformations are essential in model-driven software development, and their applications include creating models, managing model evolution, merging models, and understanding model changes. Previous approaches to derive model transformations were either time-consuming or unable to handle complex transformations. We propose a novel unsupervised approach called Ockham, which learns edit operations from model histories in repositories. Ockham discovers frequent structures in model difference graphs, explaining model differences, and has been validated in multiple experiments and a real-world case study.

AUTOMATED SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

VEER: enhancing the interpretability of model-based optimizations

Kewen Peng, Christian Kaltenecker, Norbert Siegmund, Sven Apel, Tim Menzies

Summary: This research aims to address the issue of model disagreement in multi-objective configuration optimization. VEER, a dimension reduction method, is proposed to build a one-dimensional approximation space to replace the Pareto sorting step in multi-objective optimization. The experiments show that VEER significantly reduces disagreement and execution time compared to the prior state-of-the-art.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Proceedings Paper Computer Science, Artificial Intelligence

Static Hardware Partitioning on RISC-V: Shortcomings, Limitations, and Prospects

Ralf Ramsauer, Stefan Huber, Konrad Schwarz, Jan Kiszka, Wolfgang Mauerer

Summary: This paper presents the use of static hardware partitioning and virtualization mechanisms to achieve interference and isolation between workloads. It discusses issues in achieving zero interventions and zero overhead and proposes the use of customizable and configurable RISC-V instruction set architecture.

2022 IEEE 8TH WORLD FORUM ON INTERNET OF THINGS, WF-IOT (2022)

Proceedings Paper Computer Science, Hardware & Architecture

QPU-System Co-design for Quantum HPC Accelerators

Karen Wintersperger, Hila Safi, Wolfgang Mauerer

Summary: By studying the influence of different parameters on the runtime of quantum programs on tailored hybrid CPU-QPU systems, we provide an intuition on the potentials and limitations of co-design approaches and discuss physical limitations for implementing the proposed changes on real quantum hardware devices.

ARCHITECTURE OF COMPUTING SYSTEMS, ARCS 2022 (2022)

Article Computer Science, Software Engineering

Challenges of Resolving Merge Conflicts: A Mining and Survey Study

Gustavo Vale, Claus Hunsen, Eduardo Figueiredo, Sven Apel

Summary: This study investigates the factors that affect the time it takes to resolve merge conflicts in collaborative software development. Through analysis of various independent variables, such as the number of chunks and lines of code, the study found that committing smaller chunks speeds up the resolution process. Additionally, merge scenario characteristics were found to have a stronger correlation with resolution time than merge conflict characteristics. The study also identified four types of challenges in merge conflict resolution and highlighted the importance of inherent dependencies between conflicting and non-conflicting code.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Proceedings Paper Computer Science, Software Engineering

Beyond the Badge: Reproducibility Engineering as a Lifetime Skill

Wolfgang Mauerer, Stefan Klessinger, Stefanie Scherzinger

Summary: The reproducibility of scientific experiments is gaining attention, and we propose teaching these skills as part of software engineering education. These skills are valuable not only for scientific utility but also for professional careers in computer science. By including them in software engineering curricula, we can address the reproducibility crisis and help software engineers build sustainable industrial systems.

2022 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING EDUCATION FOR THE NEXT GENERATION (SEENG 2022) (2022)

Proceedings Paper Computer Science, Hardware & Architecture

Peel | Pile? Cross-Framework Portability of Quantum Software

Manuel Schonberger, Maja Franz, Stefanie Scherzinger, Wolfgang Mauerer

Summary: This article discusses the issue of abstraction levels in quantum programming and compares code portability between different frameworks. The research finds that for certain specific problems, framework-specific implementations can be derived from mathematical expressions, and porting between frameworks is relatively easy.

2022 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION (ICSA-C 2022) (2022)

Proceedings Paper Computer Science, Software Engineering

Causality in Configurable Software Systems

Clemens Dubslaff, Kallistos Weis, Christel Baier, Sven Apel

Summary: This study introduces the concept of feature causality, which aims to identify the causes of functional and non-functional properties in configurable software systems through counterfactual reasoning. Various methods are presented to explicate these causes and their interactions. The feasibility of the approach is demonstrated through evaluation on a wide range of software systems.

2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022) (2022)

No Data Available