In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug triaging method, called Dependency-aware Bug Triaging (DABT), which leverages natural language processing and integer programming to assign bugs to appropriate developers. Unlike previous works that mainly focus on one aspect of the bug reports, DABT considers the textual information, cost associated with each bug, and dependency among them. Therefore, this comprehensive formulation covers the most important aspect of the previous works while considering the blocking effect of the bugs. We report the performance of the algorithm on three open-source software systems, i.e., EclipseJDT, LibreOffice, and Mozilla. Our result shows that DABT is able to reduce the number of overdue bugs up to 12\%. It also decreases the average fixing time of the bugs by half. Moreover, it reduces the complexity of the bug dependency graph by prioritizing blocking bugs.
翻译:在软件工程实践中, 及时解决错误会减少连带成本。 另一方面, 手工解决错误的过程可能耗时、 繁琐和容易出错。 在这项工作中, 我们引入了一种错误分解方法, 叫做 " 依赖性意识的错误三角( DABT ), 利用自然语言处理和整数程序将错误分配给适当的开发者。 与以往主要侧重于错误报告一个方面的工程不同, DABT 认为文本信息、 与每个错误相关的成本以及其中的依赖性。 因此, 这个综合的配方在考虑错误的阻塞效应的同时, 涵盖了前一个工程的最重要方面。 我们报告三个开放源软件系统, 即 EclipseJDT、 LibreOffice 和 Mozilla 的算法的性能。 我们的结果显示 DABT 能够将过期错误的数量减少到 12 ⁇ 。 它还将错误的平均固定时间减少了一半 。 此外,, 将错误依赖性图表的复杂程度降低了 。