Code Ownership: The Principles, Differences, and Their Associations with Software Quality
Patanamon Thongtanunam, Chakkrit Tantithamthavorn

TL;DR
This study compares commit-based and line-based code ownership measures, revealing their differences and how each relates to software defect proneness, guiding their appropriate application in quality management.
Contribution
It provides an empirical comparison of two common code ownership approximations and analyzes their distinct associations with software quality.
Findings
Commit-based ownership differs significantly from line-based in developer sets and ownership values.
Commit-based ownership shows a stronger correlation with defect-proneness.
Line-based ownership is recommended for accountability, while commit-based is better for quality improvement.
Abstract
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Scientific Computing and Data Management · Model-Driven Software Engineering Techniques
