mozilla/bugbug
Platform for Machine Learning projects on Software Engineering
What it solves
Bugbug uses machine learning to automate tedious software engineering and quality management tasks. It specifically targets the overhead of managing large-scale bug trackers (like Bugzilla) and code repositories, helping teams triage bugs, predict defects, and optimize testing workflows.
How it works
The project provides a framework for training and deploying various ML classifiers that analyze bug reports and commit data. It extracts features from these sources and uses models (including Keras and scikit-learn pipelines) to categorize data. Users can train models via a CLI script or trigger training through Mozilla's CI platform (Taskcluster).
Who it’s for
It is primarily designed for software maintainers and quality assurance engineers working on large-scale projects (currently focused on Mozilla/Firefox) who want to automate bug triage and risk assessment.
Highlights
- Diverse Classifiers: Includes specialized models for suggesting assignees, detecting spam, identifying regressions, and distinguishing between actual bugs and feature requests.
- Risk Prediction: Features classifiers to detect patches likely to cause regressions or be backed out due to failures.
- Test Optimization: Includes a
testselectclassifier to identify the most relevant tests to run for a specific patch. - Data Mining: Includes tools to mine data from version control systems (like Mercurial) to generate training sets.