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)挖掘数据,以生成训练集。