论文标题
拉力请求时的szz
SZZ in the time of Pull Requests
论文作者
论文摘要
在多工具开发模型中,程序员通过在几个提交中组织工作并将其包装成提交组来完成任务(例如,实现功能)。使用此模型分析开发人员的数据对于满足具有挑战性的开发人员需求很有用,例如知道哪些功能引入了错误,并评估了将某些功能集成到版本中的风险。但是,要这样做,首先需要识别固定诱导的提交集。对于这样的识别,SZZ算法是最自然的候选人,但尚未在多工业环境中评估其性能。在这项研究中,我们深入研究了多工具模型中SZZ的可靠性和性能。为了获得可靠的基础真理,我们考虑已经存在的SZZ数据集并将其调整到多功能上下文中。此外,我们设计了第二个数据集,该数据集更广泛,直接由开发人员以及Mozilla的质量保证(QA)工程师创建。基于这些数据集,我们(1)测试了B-SZZ的性能及其在多工具模型的上下文中的非语言特异性SZZ变化,(2)研究其特定行为背后的原因,以及(3)分析非相关委托在提交中的影响,并在使用SZZ之前自动检测它们。
In the multi-commit development model, programmers complete tasks (e.g., implementing a feature) by organizing their work in several commits and packaging them into a commit-set. Analyzing data from developers using this model can be useful to tackle challenging developers' needs, such as knowing which features introduce a bug as well as assessing the risk of integrating certain features in a release. However, to do so one first needs to identify fix-inducing commit-sets. For such an identification, the SZZ algorithm is the most natural candidate, but its performance has not been evaluated in the multi-commit context yet. In this study, we conduct an in-depth investigation on the reliability and performance of SZZ in the multi-commit model. To obtain a reliable ground truth, we consider an already existing SZZ dataset and adapt it to the multi-commit context. Moreover, we devise a second dataset that is more extensive and directly created by developers as well as Quality Assurance (QA) engineers of Mozilla. Based on these datasets, we (1) test the performance of B-SZZ and its non-language-specific SZZ variations in the context of the multi-commit model, (2) investigate the reasons behind their specific behavior, and (3) analyze the impact of non-relevant commits in a commit-set and automatically detect them before using SZZ.