An issue documents discussions around required changes in issue-tracking systems, while a commit contains the change itself in the version control systems. Recovering links between issues and commits can facilitate many software evolution tasks such as bug localization, and software documentation. A previous study on over half a million issues from GitHub reports only about 42.2% of issues are manually linked by developers to their pertinent commits. Automating the linking of commit-issue pairs can contribute to the improvement of the said tasks. By far, current state-of-the-art approaches for automated commit-issue linking suffer from low precision, leading to unreliable results, sometimes to the point that imposes human supervision on the predicted links. The low performance gets even more severe when there is a lack of textual information in either commits or issues. Current approaches are also proven computationally expensive. We propose Hybrid-Linker to overcome such limitations by exploiting two information channels; (1) a non-textual-based component that operates on non-textual, automatically recorded information of the commit-issue pairs to predict a link, and (2) a textual-based one which does the same using textual information of the commit-issue pairs. Then, combining the results from the two classifiers, Hybrid-Linker makes the final prediction. Thus, every time one component falls short in predicting a link, the other component fills the gap and improves the results. We evaluate Hybrid-Linker against competing approaches, namely FRLink and DeepLink on a dataset of 12 projects. Hybrid-Linker achieves 90.1%, 87.8%, and 88.9% based on recall, precision, and F-measure, respectively. It also outperforms FRLink and DeepLink by 31.3%, and 41.3%, regarding the F-measure. Moreover, Hybrid-Linker exhibits extensive improvements in terms of performance as well.
翻译:围绕问题跟踪系统所需修改的问题文件讨论, 而承诺则包含版本控制系统中的改变。 恢复问题与承诺之间的联系, 有助于许多软件的演变任务, 如错误本地化和软件文档。 GitHub 先前对超过50万个问题的研究仅报告42.2%的问题由开发者人工连接到其相关承诺。 将承诺问题对子连接起来, 有助于改进上述任务。 到目前为止, 当前对自动承诺问题最先进的方法, 其精确度为低, 导致不可靠的结果。 有时, 迫使人类对预测的链接进行监督。 如果GitHub 之前对超过50万个问题进行了研究, 其中只有大约42.2%的问题由开发者人工连接到相关承诺跟踪系统。 我们建议将承诺问题对对口连接起来, 自动记录对承诺问题对口, 对承诺问题对口, 对承诺问题对口, 对承诺问题对口, 进行更深层的对口信息, 导致结果, 有时, 以文字为基础, 对预言, 将一个预算结果, 对一个文本对结果进行同步。