mozilla/bugbug

Platform for Machine Learning projects on Software Engineering

What it solves

Bugbug 使用機器學習自動化繁瑣的軟體工程與品質管理任務。它特別針對管理大型錯誤追蹤系統(如 Bugzilla)與程式碼倉庫的開銷,協助團隊分派錯誤、預測缺陷,並優化測試工作流程。

How it works

此專案提供一個框架,用於訓練與部署各種分析錯誤報告與提交資料的機器學習分類器。它會從這些來源抽取特徵,並使用模型(包括 Keras 與 scikit-learn pipeline)對資料進行分類。使用者可以透過 CLI 腳本訓練模型,或在 Mozilla 的 CI 平台(Taskcluster)上觸發訓練。

Who it’s for

此工具主要設計給在大型專案(目前聚焦於 Mozilla/Firefox)上工作的軟體維護者與品質保證工程師,讓他們能自動化錯誤分派與風險評估。

Highlights

  • Diverse Classifiers: 包含專門用於建議受理人、偵測垃圾訊息、辨識回歸以及區分真正錯誤與功能請求的模型。
  • Risk Prediction: 提供分類器以偵測可能導致回歸或因失敗而被撤回的補丁。
  • Test Optimization: 包含 testselect 分類器,用於找出對特定補丁最相關的測試。
  • Data Mining: 提供工具從版本控制系統(如 Mercurial)挖掘資料,以產生訓練集。