Governing the Commons: Code Ownership and Code-Clones in Large-Scale Software Development
- URL: http://arxiv.org/abs/2405.15866v2
- Date: Fri, 27 Sep 2024 09:17:52 GMT
- Title: Governing the Commons: Code Ownership and Code-Clones in Large-Scale Software Development
- Authors: Anders Sundelin, Javier Gonzalez-Huerta, Richard Torkar, Krzysztof Wnuk,
- Abstract summary: In software development organizations employing weak or collective ownership, different teams are allowed and expected to autonomously perform changes in various components.
Our objective is to understand how and why different teams introduce technical debt in the form of code clones as they change different components.
- Score: 6.249768559720122
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Context: In software development organizations employing weak or collective ownership, different teams are allowed and expected to autonomously perform changes in various components. This creates diversity both in the knowledge of, and in the responsibility for, individual components. Objective: Our objective is to understand how and why different teams introduce technical debt in the form of code clones as they change different components. Method: We collected data about change size and clone introductions made by ten teams in eight components which was part of a large industrial software system. We then designed a Multi-Level Generalized Linear Model (MLGLM), to illustrate the teams' differing behavior. Finally, we discussed the results with three development teams, plus line manager and the architect team, evaluating whether the model inferences aligned with what they expected. Responses were recorded and thematically coded. Results: The results show that teams do behave differently in different components, and the feedback from the teams indicates that this method of illustrating team behavior can be useful as a complement to traditional summary statistics of ownership. Conclusions: We find that our model-based approach produces useful visualizations of team introductions of code clones as they change different components. Practitioners stated that the visualizations gave them insights that were useful, and by comparing with an average team, inter-team comparisons can be avoided. Thus, this has the potential to be a useful feedback tool for teams in software development organizations that employ weak or collective ownership.
Related papers
- MAgIC: Investigation of Large Language Model Powered Multi-Agent in
Cognition, Adaptability, Rationality and Collaboration [102.41118020705876]
Large Language Models (LLMs) have marked a significant advancement in the field of natural language processing.
As their applications extend into multi-agent environments, a need has arisen for a comprehensive evaluation framework.
This work introduces a novel benchmarking framework specifically tailored to assess LLMs within multi-agent settings.
arXiv Detail & Related papers (2023-11-14T21:46:27Z) - Collaborative, Code-Proximal Dynamic Software Visualization within Code
Editors [55.57032418885258]
This paper introduces the design and proof-of-concept implementation for a software visualization approach that can be embedded into code editors.
Our contribution differs from related work in that we use dynamic analysis of a software system's runtime behavior.
Our visualization approach enhances common remote pair programming tools and is collaboratively usable by employing shared code cities.
arXiv Detail & Related papers (2023-08-30T06:35:40Z) - Towards a Better Understanding of Learning with Multiagent Teams [4.746424588605832]
We show that some team structures help agents learn to specialize into specific roles, resulting in more favorable global results.
Large teams create credit assignment challenges that reduce coordination, leading to large teams performing poorly compared to smaller ones.
arXiv Detail & Related papers (2023-06-28T13:37:48Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
Self-supervised pre-training has gained traction for learning generic code representations valuable for many downstream SE tasks.
We argue that it is also essential to factor in how developers code day-to-day for general-purpose representation learning.
In particular, we propose CONCORD, a self-supervised, contrastive learning strategy to place benign clones closer in the representation space while moving deviants further apart.
arXiv Detail & Related papers (2023-06-05T20:39:08Z) - Exploring the Relationship Between Ownership and Contribution Alignment and Code Technical Debt [3.3854996288003893]
This article explores the relationship between ownership and contribution alignment and code quality degradation.
It also examines how team structure changes impact their ability to manage code quality degradation.
arXiv Detail & Related papers (2023-04-04T21:55:50Z) - Detecting and Optimising Team Interactions in Software Development [58.720142291102135]
This paper presents a data-driven approach to detect the functional interaction structure for software development teams.
Our approach considers differences in the activity levels of team members and uses a block-constrained configuration model.
We show how our approach enables teams to compare their functional interaction structure against synthetically created benchmark scenarios.
arXiv Detail & Related papers (2023-02-28T14:53:29Z) - Informational Diversity and Affinity Bias in Team Growth Dynamics [6.729250803621849]
We show that the benefits of informational diversity are in tension with affinity bias.
Our results formalize a fundamental limitation of utility-based motivations to drive informational diversity.
arXiv Detail & Related papers (2023-01-28T05:02:40Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
We present BOOST, a novel self-supervised model to focus pre-training based on the characteristics of source code.
We employ automated, structure-guided code transformation algorithms that generate functionally equivalent code that looks drastically different from the original one.
We train our model in a way that brings the functionally equivalent code closer and distinct code further through a contrastive learning objective.
arXiv Detail & Related papers (2021-10-08T02:56:43Z) - Organizational Artifacts of Code Development [10.863006516392831]
We study social effects of country by measuring differences in software repositories associated with different countries.
We propose a novel approach of modeling repositories based on their sequence of development activities as a sequence embedding task.
We conduct a case study on repos from well-known corporations and find that country can describe the differences in development better than the company affiliation itself.
arXiv Detail & Related papers (2021-05-30T22:04:09Z) - Evaluating and Rewarding Teamwork Using Cooperative Game Abstractions [103.3630903577951]
We use cooperative game theory to study teams of artificial RL agents as well as real world teams from professional sports.
We introduce a parametric model called cooperative game abstractions (CGAs) for estimating CFs from data.
We provide identification results and sample bounds complexity for CGA models as well as error bounds in the estimation of the Shapley Value using CGAs.
arXiv Detail & Related papers (2020-06-16T22:03:36Z) - Forming Diverse Teams from Sequentially Arriving People [9.247294820004146]
Collaborative work often benefits from having teams or organizations with heterogeneous members.
We present a method to form such diverse teams from people arriving sequentially over time.
We show that, in practice, the algorithm leads to large gains in team diversity.
arXiv Detail & Related papers (2020-02-25T07:00:07Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.