S-DABT: Schedule and Dependency-Aware Bug Triage in Open-Source Bug Tracking Systems

04/12/2022
by   Hadi Jahanshahi, et al.
0

Fixing bugs in a timely manner lowers various potential costs in software maintenance. However, manual bug fixing scheduling can be time-consuming, cumbersome, and error-prone. In this paper, we propose the Schedule and Dependency-aware Bug Triage (S-DABT), a bug triaging method that utilizes integer programming and machine learning techniques to assign bugs to suitable developers. Unlike prior works that largely focus on a single component of the bug reports, our approach takes into account the textual data, bug fixing costs, and bug dependencies. We further incorporate the schedule of developers in our formulation to have a more comprehensive model for this multifaceted problem. As a result, this complete formulation considers developers' schedules and the blocking effects of the bugs while covering the most significant aspects of the previously proposed methods. Our numerical study on four open-source software systems, namely, EclipseJDT, LibreOffice, GCC, and Mozilla, shows that taking into account the schedules of the developers decreases the average bug fixing times. We find that S-DABT leads to a high level of developer utilization through a fair distribution of the tasks among the developers and efficient use of the free spots in their schedules. Via the simulation of the issue tracking system, we also show how incorporating the schedule in the model formulation reduces the bug fixing time, improves the assignment accuracy, and utilizes the capability of each developer without much comprising in the model run times. We find that S-DABT decreases the complexity of the bug dependency graph by prioritizing blocking bugs and effectively reduces the infeasible assignment ratio due to bug dependencies. Consequently, we recommend considering developers' schedules while automating bug triage.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/26/2021

DABT: A Dependency-aware Bug Triaging Method

In software engineering practice, fixing a bug promptly reduces the asso...
research
02/03/2022

Developer Load Normalization Using Iterative Kuhn-Munkres Algorithm: An Optimization Triaging Approach

Bug triage can be defined as the process of assigning a developer to a b...
research
11/02/2022

ADPTriage: Approximate Dynamic Programming for Bug Triage

Bug triaging is a critical task in any software development project. It ...
research
11/10/2020

Wayback Machine: Capturing the evolutionary behaviour of the bug dependency graph in open-source software systems

The issue tracking system (ITS) is a rich data source for data-driven de...
research
07/14/2022

Bug Fix Time Optimization Using Matrix Factorization and Iterative Gale-Shaply Algorithms

Bug triage is an essential task in software maintenance phase. It assign...
research
11/27/2018

How a simple bug in ML compiler could be exploited for backdoors?

Whenever a bug occurs in a program, software developers assume that the ...
research
09/05/2019

Empirical Notes on the Interaction Between Continuous Kernel Fuzzing and Development

Fuzzing has been studied and applied ever since the 1990s. Automated and...

Please sign up or login with your details

Forgot password? Click here to reset