Multiple approaches have been proposed to automatically recommend potential developers who can address bug reports. These approaches are typically designed to work for any bug report submitted to any software project. However, we conjecture that these approaches may not work equally well for all the reports in a project. We conducted an empirical study to validate this conjecture, using three bug assignment approaches applied on 2,249 bug reports from two open source systems. We found empirical evidence that validates our conjecture, which led us to explore the idea of identifying and applying the best-performing approach for each bug report to obtain more accurate developer recommendations. We conducted an additional study to assess the feasibility of this idea using machine learning. While we found a wide margin of accuracy improvement for this approach, it is far from achieving the maximum possible improvement and performs comparably to baseline approaches. We discuss potential reasons for these results and conjecture that the assignment approaches may not capture important information about the bug assignment process that developers perform in practice. The results warrant future research in understanding how developers assign bug reports and improving automated bug report assignment
翻译:多种方法已被提出,用于自动推荐能够处理缺陷报告的潜在开发者。这些方法通常被设计为适用于提交给任何软件项目的任何缺陷报告。然而,我们推测这些方法可能无法对项目中的全部报告都同样有效。为验证这一推测,我们开展了一项实证研究,使用了三种缺陷分配方法,并应用于来自两个开源系统的2,249份缺陷报告。我们发现了支持推测的实证证据,进而探索了为每份缺陷报告识别并应用最佳性能方法以获取更准确开发者推荐的思路。我们利用机器学习进行了额外研究,以评估该思路的可行性。尽管我们发现该方法在准确性上存在大幅提升空间,但其远未达到最大可能的改进效果,且性能与基线方法相当。我们讨论了这些结果的潜在原因,并推测这些分配方法可能未捕捉到开发者在实际分配过程中执行的关键信息。该研究结果值得未来进一步探索,以理解开发者如何分配缺陷报告,并改进自动化缺陷报告分配方法。