论文标题
识别源代码文件专家
Identifying Source Code File Experts
论文作者
论文摘要
在软件开发中,识别源代码文件专家是一项重要任务。确定这些专家有助于改善软件维护和演变活动,例如开发新功能,代码审查和错误修复。尽管一些研究提出了一个自动识别源代码专家的存储库技术,但该领域仍有差距可以探索。例如,研究与源代码知识相关的新变量和应用机器学习旨在提高技术的性能以识别源代码专家。这项研究的目的是调查改善现有技术的性能以推荐源代码文件专家的机会。我们通过从113个软件项目的开发历史和调查开发人员中收集数据来建立Oracle。然后,我们使用此Oracle来:(i)分析从开发历史记录中提取的措施与开发人员源代码知识之间的相关性,以及(ii)通过评估其在识别源代码文件专家时的性能来调查机器学习分类器的使用。第一个作者身份和修改的重新度是与源代码知识的最高正相关和负相关的变量。机器学习分类器优于公共数据集中的线性技术(F-量= 71%至73%),但是在私有数据集中尚不清楚这一优势尚不清楚,线性技术的F量范围从55%到68%,而ML技术的F-MEASE不等,58%至67%。总体而言,线性技术和机器学习分类器的性能相似,特别是如果我们分析F量级。但是,机器学习分类器通常获得更高的精度,而线性技术获得最高的召回值。
In software development, the identification of source code file experts is an important task. Identifying these experts helps to improve software maintenance and evolution activities, such as developing new features, code reviews, and bug fixes. Although some studies have proposed repository mining techniques to automatically identify source code experts, there are still gaps in this area that can be explored. For example, investigating new variables related to source code knowledge and applying machine learning aiming to improve the performance of techniques to identify source code experts. The goal of this study is to investigate opportunities to improve the performance of existing techniques to recommend source code files experts. We built an oracle by collecting data from the development history and surveying developers of 113 software projects. Then, we use this oracle to: (i) analyze the correlation between measures extracted from the development history and the developers source code knowledge and (ii) investigate the use of machine learning classifiers by evaluating their performance in identifying source code files experts. First Authorship and Recency of Modification are the variables with the highest positive and negative correlations with source code knowledge, respectively. Machine learning classifiers outperformed the linear techniques (F-Measure = 71% to 73%) in the public dataset, but this advantage is not clear in the private dataset, with F-Measure ranging from 55% to 68% for the linear techniques and 58% to 67% for ML techniques. Overall, the linear techniques and the machine learning classifiers achieved similar performance, particularly if we analyze F-Measure. However, machine learning classifiers usually get higher precision while linear techniques obtained the highest recall values.