Claus Hunsen

dblp:136/0997 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
2since 2021 · last 2022
0000-0002-2570-4093ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 2 first-author · 2 since 2021
YearPublicationVenuePosition
2022 Synchronous development in open-source projects: A higher-level perspective
abstract
Abstract Mailing lists are a major communication channel for supporting developer coordination in open-source software projects. In a recent study, researchers explored temporal relationships (e.g., synchronization) between developer activities on source code and on the mailing list, relying on simple heuristics of developer collaboration (e.g., co-editing files) and developer communication (e.g., sending e-mails to the mailing list). We propose two methods for studying synchronization between collaboration and communication activities from a higher-level perspective, which captures the complex activities and views of developers more precisely than the rather technical perspective of previous work. On the one hand, we explore developer collaboration at the level of features (not files), which are higher-level concepts of the domain and not mere technical artifacts. On the other hand, we lift the view of developer communication from a message-based model, which treats each e-mail individually, to a conversation-based model, which is semantically richer due to grouping e-mails that represent conceptually related discussions. By means of an empirical study, we investigate whether the different abstraction levels affect the observed relationship between commit activity and e-mail communication using state-of-the-art time-series analysis. For this purpose, we analyze a combined history of 40 years of data for three highly active and widely deployed open-source projects:QEMU,BusyBox, andOpenSSL. Overall, we found evidence that a higher-level view on the coordination of developers leads to identifying a stronger statistical dependence between the technical activities of developers than a less abstract and rather technical view.
Thomas Bock 0002, Claus Hunsen, Mitchell Joblin, Sven Apel
Autom. Softw. Eng.2
2022 Challenges of Resolving Merge Conflicts: A Mining and Survey Study
abstract
In collaborative software development, merge conflicts arise when developers integrate concurrent code changes. Practitioners seek to minimize the number of merge conflicts because resolving them is difficult, time consuming, and often an error-prone task. Despite a substantial number of studies investigating merge conflicts, the challenges in merge conflict resolution are not well understood. Our goal is to investigate which factors make merge conflicts longer to resolve in practice. To this end, we performed a two-phase study. First, we analyzed 66 projects containing around 81 thousand merge scenarios, involving 2 million files and over 10 million chunks. For this analysis, we use rank correlation, principal component analysis, multiple regression model, and effect-size analysis to investigate which independent variables (e.g., number of conflicting chunks and files) mostly influence our dependent variable (i.e., time to merge). We found that the number of chunks, lines of code, conflicting chunks, developers involved, conflicting lines of code, conflicting files, and the complexity of the conflicting code influence the merge conflict resolution time. Second, we surveyed 140 developers from our subject projects aiming at cross-validating our results from the first phase of our study. As main results, (i) we found that committing small chunks makes merge conflict resolution faster when leaving other independent variables untouched, (ii) we found evidence that merge scenario characteristics (e.g., the number of lines of code or chunks changed in the merge scenario) are stronger correlated with our dependent variable than merge conflict characteristics (e.g., the number of lines of code or chunks in conflict), (iii) we devise a taxonomy of four types of challenges in merge conflict resolution, and (iv) we observed that the inherent dependencies among conflicting and non-conflicting code is one of the main factors influencing the merge conflict resolution time.
Gustavo Vale, Claus Hunsen, Eduardo Figueiredo 0001, Sven Apel
IEEE Trans. Software Eng.2
2020 On the fulfillment of coordination requirements in open-source software projects: An exploratory study
Claus Hunsen, Janet Siegmund, Sven Apel
Empir. Softw. Eng.1
2018 Indicators for merge conflicts in the wild: survey and empirical study
Olaf Leßenich, Janet Siegmund, Sven Apel, Christian Kästner, Claus Hunsen
Autom. Softw. Eng.5
2017 Classifying developers into core and peripheral: an empirical study on count and network metrics
abstract
Knowledge about the roles developers play in a software project is crucial to understanding the project's collaborative dynamics. In practice, developers are often classified according to the dichotomy of core and peripheral roles. Typically, count-based operationalizations, which rely on simple counts of individual developer activities (e.g., number of commits), are used for this purpose, but there is concern regarding their validity and ability to elicit meaningful insights. To shed light on this issue, we investigate whether count-based operationalizations of developer roles produce consistent results, and we validate them with respect to developers' perceptions by surveying 166 developers. Improving over the state of the art, we propose a relational perspective on developer roles, using fine-grained developer networks modeling the organizational structure, and by examining developer roles in terms of developers' positions and stability within the developer network. In a study of 10 substantial open-source projects, we found that the primary difference between the count-based and our proposed network-based core-peripheral operationalizations is that the network-based ones agree more with developer perception than count-based ones. Furthermore, we demonstrate that a relational perspective can reveal further meaningful insights, such as that core developers exhibit high positional stability, upper positions in the hierarchy, and high levels of coordination with other core developers, which confirms assumptions of previous work.
Mitchell Joblin, Sven Apel, Claus Hunsen, Wolfgang Mauerer
ICSE3
2017 The shape of feature code: an analysis of twenty C-preprocessor-based systems
Rodrigo Queiroz, Leonardo Teixeira Passos, Marco Túlio Valente, Claus Hunsen, Sven Apel, Krzysztof Czarnecki 0001
Softw. Syst. Model.4
2016 Preprocessor-based variability in open-source and industrial software systems: An empirical study
Claus Hunsen, Bo Zhang 0014, Janet Siegmund, Christian Kästner, Olaf Leßenich, Martin Becker 0002, Sven Apel
Empir. Softw. Eng.1
2013 A comparison of product-based, feature-based, and family-based type checking
abstract
Analyzing software product lines is difficult, due to their inherent variability. In the past, several strategies for product-line analysis have been proposed, in particular, product-based, feature-based, and family-based strategies. Despite recent attempts to conceptually and empirically compare different strategies, there is no work that empirically compares all of the three strategies in a controlled setting. We close this gap by extending a compiler for feature-oriented programming with support for product-based, feature-based, and family-based type checking. We present and discuss the results of a comparative performance evaluation that we conducted on a set of 12 feature-oriented, Java-based product lines. Most notably, we found that the family-based strategy is superior for all subject product lines: it is substantially faster, it detects all kinds of errors, and provides the most detailed information about them.
Sergiy S. Kolesnikov, Alexander von Rhein, Claus Hunsen, Sven Apel
GPCE3