134 research outputs found
Survey on Automated Bugs Triage System
Nowadays IT companies is spending more than 40 percent of their cost in fixing software bugs, traditonally these bugs are fixed by manual assignement to a particular developer , this approach causes too much dependency, the new and alternative approach is the bug triage system which fix the bug automatically , which automatically assign the reported bug to a develop which decreases the time and cost in in manual work, different classification techniques are used to conduct automatic bug triage. In this paper, we propose to apply machine learning techniques to assist in bug triage to predict which developer should be assigned on the bug based on its description by applying text categrorization . We will address the problem of data reduction for bug triage, i.e. How the quality of bug data would be improved
A multi-label, dual-output deep neural network for automated bug triaging
Bug tracking enables the monitoring and resolution of issues and bugs within
organizations. Bug triaging, or assigning bugs to the owner(s) who will resolve
them, is a critical component of this process because there are many incorrect
assignments that waste developer time and reduce bug resolution throughput. In
this work, we explore the use of a novel two-output deep neural network
architecture (Dual DNN) for triaging a bug to both an individual team and
developer, simultaneously. Dual DNN leverages this simultaneous prediction by
exploiting its own guess of the team classes to aid in developer assignment. A
multi-label classification approach is used for each of the two outputs to
learn from all interim owners, not just the last one who closed the bug. We
make use of a heuristic combination of the interim owners
(owner-importance-weighted labeling) which is converted into a probability mass
function (pmf). We employ a two-stage learning scheme, whereby the team portion
of the model is trained first and then held static to train the team--developer
and bug--developer relationships. The scheme employed to encode the
team--developer relationships is based on an organizational chart (org chart),
which renders the model robust to organizational changes as it can adapt to
role changes within an organization. There is an observed average lift (with
respect to both team and developer assignment) of 13%-points in 11-fold
incremental-learning cross-validation (IL-CV) accuracy for Dual DNN utilizing
owner-weighted labels compared with the traditional multi-class classification
approach. Furthermore, Dual DNN with owner-weighted labels achieves average
11-fold IL-CV accuracies of 76% (team assignment) and 55% (developer
assignment), outperforming reference models by 14%- and 25%-points,
respectively, on a proprietary dataset with 236,865 entries.Comment: 8 pages, 2 figures, 9 table
Adopting Automated Bug Assignment in Practice: A Longitudinal Case Study at Ericsson
The continuous inflow of bug reports is a considerable challenge in large
development projects. Inspired by contemporary work on mining software
repositories, we designed a prototype bug assignment solution based on machine
learning in 2011-2016. The prototype evolved into an internal Ericsson product,
TRR, in 2017-2018. TRR's first bug assignment without human intervention
happened in April 2019. Our study evaluates the adoption of TRR within its
industrial context at Ericsson. Moreover, we investigate 1) how TRR performs in
the field, 2) what value TRR provides to Ericsson, and 3) how TRR has
influenced the ways of working. We conduct an industrial case study combining
interviews with TRR stakeholders, minutes from sprint planning meetings, and
bug tracking data. The data analysis includes thematic analysis, descriptive
statistics, and Bayesian causal analysis. TRR is now an incorporated part of
the bug assignment process. Considering the abstraction levels of the
telecommunications stack, high-level modules are more positive while low-level
modules experienced some drawbacks. On average, TRR automatically assigns 30%
of the incoming bug reports with an accuracy of 75%. Auto-routed TRs are
resolved around 21% faster within Ericsson, and TRR has saved highly seasoned
engineers many hours of work. Indirect effects of adopting TRR include process
improvements, process awareness, increased communication, and higher job
satisfaction. TRR has saved time at Ericsson, but the adoption of automated bug
assignment was more intricate compared to similar endeavors reported from other
companies. We primarily attribute the difference to the very large size of the
organization and the complex products. Key facilitators in the successful
adoption include a gradual introduction, product champions, and careful
stakeholder analysis.Comment: Under revie
Fuzzy set and cache-based approach for bug triaging
Software bugs are inevitable and bug fixing is an essential and costly phase during software development. Such defects are often reported in bug reports which are stored in an issue tracking system, or bug repository. Such reports need to be assigned to the most appropriate developers who will eventually fix the issue/bug reported. This process is often called Bug Triaging.
Manual bug triaging is a difficult, expensive, and lengthy process, since it needs the bug triager to manually read, analyze, and assign bug fixers for each newly reported bug. Triagers can become overwhelmed by the number of reports added to the repository. Time and efforts spent into triaging typically diverts valuable resources away from the improvement of the product to the managing of the development process.
To assist triagers and improve the bug triaging efficiency and reduce its cost, this thesis proposes Bugzie, a novel approach for automatic bug triaging based on fuzzy set and cachebased modeling of the bug-fixing capability of developers. Our evaluation results on seven large-scale subject systems show that Bugzie achieves significantly higher levels of efficiency and correctness than existing state-of-the-art approaches. In these subject projects, Bugzie\u27s accuracy for top-1 and top-5 recommendations is higher than those of the second best approach from 4-15% and 6-31%, respectively as Bugzie\u27s top-1 and top-5 recommendation accuracy is generally in the range of 31-51% and 70-83%, respectively. Importantly, existing approaches take from hours to days (even almost a month) to finish training as well as predicting, while in Bugzie, training time is from tens of minutes to an hour
Recommending Bug Assignment Approaches for Individual Bug Reports: An Empirical Investigation
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 assignmen
Bug Fix Time Optimization Using Matrix Factorization and Iterative Gale-Shaply Algorithms
Bug triage is an essential task in software maintenance phase. It assigns
developers (fixers) to bug reports to fix them. This process is performed
manually by a triager, who analyzes developers profiles and submitted bug
reports to make suitable assignments. Bug triaging process is time consuming
thus automating this process is essential to improve the quality of software.
Previous work addressed triaging problem either as an information retrieval or
classification problem. This paper tackles this problem as a resource
allocation problem, that aims at the best assignments of developers to bug
reports, that reduces the total fixing time of the newly submitted bug reports,
in addition to the even distribution of bug reports over developers. In this
paper, a combination of matrix factorization and Gale Shapely algorithm,
supported by the differential evolution is firstly introduced to optimize the
total fix time and normalize developers work load. Matrix factorization is used
to establish a recommendation system for Gale-Shapley to make assignment
decisions. Differential evolution provides the best set of weights to build
developers score profiles. The proposed approach is assessed over three
repositories, Linux, Apache and Eclipse. Experimental results show that the
proposed approach reduces the bug fixing time, in comparison to the manual
triage, by 80.67%, 23.61% and 60.22% over Linux, Eclipse and Apache
respectively. Moreover, the workload for the developers is uniform.Comment: 14 page, 7 figures, 8 tables, 10 equation
- …