bugbug  by mozilla

ML platform for software engineering tasks

Created 7 years ago
547 stars

Top 58.5% on SourcePulse

GitHubView on GitHub
Project Summary

Bugbug is a platform for applying machine learning to software engineering tasks, primarily focused on bug triage and quality management within large projects like Firefox. It offers pre-trained classifiers for various bug attributes and provides tools for training custom models, making it valuable for developers, QA engineers, and project managers seeking to automate and improve bug handling processes.

How It Works

Bugbug utilizes a suite of machine learning classifiers trained on data extracted from bug tracking systems (like Bugzilla) and code repositories. It employs techniques for feature extraction from bug reports and commit data, including natural language processing for bug descriptions and code analysis for patch-related information. This approach allows for automated classification of bugs by type, assignee, regression potential, and other critical attributes, aiming to streamline workflows and improve efficiency.

Quick Start & Requirements

  • Install dependencies: pip3 install -r requirements.txt
  • Python 3.10+ required.
  • libgit2 (v1.0.0+) may be required for repository mining.
  • Pre-commit hooks are used for code formatting: pre-commit install.
  • Training script: python -m scripts.trainer [MODEL_NAME]
  • Classification script: python -m scripts.bug_classifier [MODEL_NAME] --bug-id [BUG_ID]
  • Official documentation and examples are available via links in the README.

Highlighted Details

  • Offers classifiers for assignee suggestion, backout prediction, bug type classification (crash, memory, performance, security), component assignment, defect vs. enhancement, regression detection, spam detection, and more.
  • Achieves ~93% accuracy on its "defect" classifier with ~95% precision and ~94% recall.
  • Supports training models on Mozilla's Taskcluster CI platform via pull request descriptions.
  • Includes scripts for mining data from the mozilla-central repository and retrieving issues from GitHub.

Maintenance & Community

  • Developed by Mozilla, with contributions from various individuals.
  • A Matrix room is available for community discussion.
  • Links to Mozilla Hacks blog posts detailing the project's evolution are provided.

Licensing & Compatibility

  • The project appears to be licensed under the Mozilla Public License 2.0 (MPL 2.0).
  • Data generated by BugBug can be used independently.
  • While focused on Mozilla use cases, pull requests for supporting other projects are welcomed.

Limitations & Caveats

The repository mining script can be very time-consuming (7+ hours on a laptop) and may have specific Mercurial version requirements. Support for non-Mozilla projects is currently limited and relies on community contributions.

Health Check
Last Commit

3 days ago

Responsiveness

1 day

Pull Requests (30d)
55
Issues (30d)
10
Star History
3 stars in the last 30 days

Explore Similar Projects

Starred by Pawel Garbacki Pawel Garbacki(Cofounder of Fireworks AI), Shizhe Diao Shizhe Diao(Author of LMFlow; Research Scientist at NVIDIA), and
14 more.

SWE-bench by SWE-bench

2.3%
4k
Benchmark for evaluating LLMs on real-world GitHub issues
Created 1 year ago
Updated 22 hours ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Chaoyu Yang Chaoyu Yang(Founder of Bento), and
6 more.

pr-agent by qodo-ai

0.7%
9k
AI tool for pull request automation, feedback, and suggestions
Created 2 years ago
Updated 1 day ago
Feedback? Help us improve.