Bug triaging is a critical task in any software development project. It entails triagers going over a list of open bugs, deciding whether each is required to be addressed, and, if so, which developer should fix it. However, the manual bug assignment in issue tracking systems (ITS) offers only a limited solution and might easily fail when triagers must handle a large number of bug reports. During the automated assignment, there are multiple sources of uncertainties in the ITS, which should be addressed meticulously. In this study, we develop a Markov decision process (MDP) model for an online bug triage task. In addition to an optimization-based myopic technique, we provide an ADP-based bug triage solution, called ADPTriage, which has the ability to reflect the downstream uncertainty in the bug arrivals and developers' timetables. Specifically, without placing any limits on the underlying stochastic process, this technique enables real-time decision-making on bug assignments while taking into consideration developers' expertise, bug type, and bug fixing time. Our result shows a significant improvement over the myopic approach in terms of assignment accuracy and fixing time. We also demonstrate the empirical convergence of the model and conduct sensitivity analysis with various model parameters. Accordingly, this work constitutes a significant step forward in addressing the uncertainty in bug triage solutions
翻译:错误处理是任何软件开发项目的关键任务 。 它需要三角管理员对一个开放式错误处理清单进行三重处理, 决定每个错误是否需要处理, 如果需要的话, 哪个开发者应该修正它 。 然而, 问题跟踪系统中人工错误分配只提供有限的解决方案, 当三角管理员必须处理大量错误报告时, 可能会很容易失败 。 在自动分配过程中, ITS 中存在多种不确定性来源, 需要仔细处理 。 在此研究中, 我们为在线错误处理任务开发了一个 Markov 决策程序( MDP ) 模型 。 除了基于优化的近视技术外, 我们提供基于 ADP 的错误三重处理解决方案, 称为 ADPTriage, 能够反映错误到达者和开发者时间表中的下游不确定性。 具体地说, 在不限制基本的随机程序的情况下, 此项技术可以在考虑开发者的专门知识、 错误类型 和 错误修正时间 时间 的情况下, 实时决定错误分配 。 我们的结果显示, 在模型精确性和修正时间方面, 我们提供基于 ADP 的错误处理方法的错误处理方法的显著的细微度分析 。