Code Ownership: The Principles, Differences, and Their Associations with Software Quality

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Thongtanunam, Patanamon, Tantithamthavorn, Chakkrit
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866917756239085568
author Thongtanunam, Patanamon
Tantithamthavorn, Chakkrit
author_facet Thongtanunam, Patanamon
Tantithamthavorn, Chakkrit
contents Code ownership -- an approximation of the degree of ownership of a software component -- is one of the important software measures used in quality improvement plans. However, prior studies proposed different variants of code ownership approximations. Yet, little is known about the difference in code ownership approximations and their association with software quality. In this paper, we investigate the differences in the commonly used ownership approximations (i.e., commit-based and line-based) in terms of the set of developers, the approximated code ownership values, and the expertise level. Then, we analyze the association of each code ownership approximation with the defect-proneness. Through an empirical study of 25 releases that span real-world open-source software systems, we find that commit-based and line-based ownership approximations produce different sets of developers, different code ownership values, and different sets of major developers. In addition, we find that the commit-based approximation has a stronger association with software quality than the line-based approximation. Based on our analysis, we recommend line-based code ownership be used for accountability purposes (e.g., authorship attribution, intellectual property), while commit-based code ownership should be used for rapid bug-fixing and charting quality improvement plans.
format Preprint
id arxiv_https___arxiv_org_abs_2408_12807
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Code Ownership: The Principles, Differences, and Their Associations with Software Quality
Thongtanunam, Patanamon
Tantithamthavorn, Chakkrit
Software Engineering
Code ownership -- an approximation of the degree of ownership of a software component -- is one of the important software measures used in quality improvement plans. However, prior studies proposed different variants of code ownership approximations. Yet, little is known about the difference in code ownership approximations and their association with software quality. In this paper, we investigate the differences in the commonly used ownership approximations (i.e., commit-based and line-based) in terms of the set of developers, the approximated code ownership values, and the expertise level. Then, we analyze the association of each code ownership approximation with the defect-proneness. Through an empirical study of 25 releases that span real-world open-source software systems, we find that commit-based and line-based ownership approximations produce different sets of developers, different code ownership values, and different sets of major developers. In addition, we find that the commit-based approximation has a stronger association with software quality than the line-based approximation. Based on our analysis, we recommend line-based code ownership be used for accountability purposes (e.g., authorship attribution, intellectual property), while commit-based code ownership should be used for rapid bug-fixing and charting quality improvement plans.
title Code Ownership: The Principles, Differences, and Their Associations with Software Quality
topic Software Engineering
url https://arxiv.org/abs/2408.12807