BugBug: Mozilla’s Solution to Solving Bug Triage Problem
In February 2021, Mozilla started the production of BugBug, a bug triaging solution driven by AI that automatically assigns a product and component to each new reported and untriaged bug. The purpose of the production of this machine learning tool was so that developers don’t have to sift through hundreds of feature requests and bug reports that are received each day about Firefox, saving them time and effort. It, in a way, serves the same purpose as bug tracking tools do.
Previously, the job of bug report triaging was assigned usually to volunteers and some developers but the continuous growth in the number of bugs made the efforts less manageable. Hence, Mozilla came up with the idea of BugBug. The challenge at hand for the production team was to train BugBug and inject data/information into it. Programmers narrowed their focus to bugs from the past two years out of two decades worth of bugs. During the process, the programmers had to roll back each resolved bug to the time it was originally filed because the resolved bugs were of no use for BugBug. Further, BugBug was fed only components with a number of bugs that were at least 1% of the number of bugs of the largest component. That still resulted in around 100,000 bugs that BugBug had to assimilate as part of its education.
But how much difference does BugBug actually make? What speed are we talking about? According to Mozilla’s Marco Castelluccio and Sylvestre Ledru, evaluating two years' worth of data is a matter of milliseconds for BugBug while training it will take around 40 minutes on a 6-core computer with 32 GB of RAM. Compare that to a whole week it would take to manually assign bugs to the responsible parties. By April 2019, AI had triaged around 350 bugs. This way, the median amount of time to respond to a triaged bug for a developer is two days.
Mozilla has well-thought plans in place for BugBug’s future. While it’s currently fulfilling its primary purpose of triaging, it also needs to better identify duplicate bugs. While the triage process itself can help identify duplicates, finding them quickly can assist developers in resolving them. BugBug can also provide developers with automated help to better detect the type of bug reported, or to detect bugs in which the steps needed to reproduce them are missing. Lastly, BugBug also aims to find bugs for a specific release of Firefox as early as possible. As of now, BugBug’s focus is limited to Firefox-related products. The company plans to extend the AI’s ability to handle components for other Mozilla products in the future.
Mozilla is now inviting companies to use AI and BugBug to track bugs. If companies are using Bugzilla, BugBug will be very easy to adopt. Otherwise
, Mozilla will need to add support for the company’s issue tracking tools.