Code Ownership and Software Quality: A Replication Study

Code Ownership and Software Quality: A Replication Study
复制标题

DOI:
10.1109/msr.2015.8
复制
发表时间:
2015-05
期刊:
2015 IEEE/ACM 12th Working Conference on Mining Software Repositories
影响因子:
--
通讯作者:
Michaela Greiler;Kim Herzig;J. Czerwonka
Michaela Greiler;Kim Herzig;J. Czerwonka
中科院分区:
其他
文献类型:
--
作者:
Michaela Greiler;Kim Herzig;J. Czerwonka

文献摘要

被引文献

相似文献

在传统意义上,所有权决定了关于一个物体的权利和义务,例如财产。源代码的所有者通常指的是代码的发明者。然而,较大的代码构件(如文件)通常由多个工程师组成,这些工程师通过一系列更改随时间为实体做出贡献。通常,具有最高贡献的人,例如代码更改次数最多的人,被定义为代码所有者并对其负责。因此,代码所有权与工程师对代码的了解有关。缺乏对代码的责任感和知识会降低代码质量。在早期的一项研究中,伯德等人。[1]表明,缺乏明确代码所有权的Windows二进制文件更容易出现缺陷。然而,对大型构件(如二进制文件)的建议通常是不可操作的。例如,改变二进制文件的概念并对其进行重构以确保强所有权将违反系统架构原则。福柯等人最近的一项复制研究。[2]在开源软件上重复最初的结果,并导致对所有权影响代码质量的一般概念的怀疑。在本文中,我们复制和扩展了前面的两个所有权研究[1,2],并反思了他们的发现。此外,我们定义了几个新的所有权指标,以调查4种主要Microsoft产品在文件和目录级别上所有权和代码质量之间的依赖关系。研究结果证实了伯德等人最初的发现。[1]代码所有权与代码质量相关。使用新的和改进的代码所有权度量,我们能够对包含至少一个错误的源文件进行分类,精度中值为0.74,召回率中值为0.38。在目录级别上,我们实现了0.76的准确率和0.60的召回率。
In a traditional sense, ownership determines rights and duties in regard to an object, for example a property. The owner of source code usually refers to the person that invented the code. However, larger code artifacts, such as files, are usually composed by multiple engineers contributing to the entity over time through a series of changes. Frequently, the person with the highest contribution, e.g. The most number of code changes, is defined as the code owner and takes responsibility for it. Thus, code ownership relates to the knowledge engineers have about code. Lacking responsibility and knowledge about code can reduce code quality. In an earlier study, Bird et al. [1] showed that Windows binaries that lacked clear code ownership were more likely to be defect prone. However recommendations for large artifacts such as binaries are usually not actionable. E.g. Changing the concept of binaries and refactoring them to ensure strong ownership would violate system architecture principles. A recent replication study by Foucault et al. [2] on open source software replicate the original results and lead to doubts about the general concept of ownership impacting code quality. In this paper, we replicated and extended the previous two ownership studies [1, 2] and reflect on their findings. Further, we define several new ownership metrics to investigate the dependency between ownership and code quality on file and directory level for 4 major Microsoft products. The results confirm the original findings by Bird et al. [1] that code ownership correlates with code quality. Using new and refined code ownership metrics we were able to classify source files that contained at least one bug with a median precision of 0.74 and a median recall of 0.38. On directory level, we achieve a precision of 0.76 and a recall of 0.60.