project
FrogBoss - 微软开源的系列编程模型
FrogBoss 是微软研究院推出的系列编程模型。模型通过创新的复杂漏洞生成方法(BugPilot)进行训练,该方法通过让语言模型代理(LLM)在代码库中添加新功能来...
FrogBoss是什么
FrogBoss 是微软研究院推出的系列编程模型。模型通过创新的复杂漏洞生成方法(BugPilot)进行训练,该方法通过让语言模型代理(LLM)在代码库中添加新功能来无意中引入漏洞,生成更具挑战性和多样性的训练数据。FrogBoss 32B 参数的模型,在 SWE-Bench-Verified 基准测试中达到 54.6% 的 pass@1 准确率,成为该领域的最新标杆。模型性能卓越,展示了更高的数据效率和对真实软件开发场景的更好适应性。
FrogBoss的主要功能
-
高效漏洞修复:模型能快速识别和修复代码中的复杂漏洞,提升软件质量和稳定性。
-
代码优化与改进:通过分析现有代码,提出优化建议,提高代码效率和可维护性。
-
自动化测试支持:模型能生成测试用例,验证代码变更是否引入新问题,确保软件功能正常。
-
开发效率提升:通过自动化处理繁琐任务,减少开发人员的重复劳动,加速软件开发周期。
FrogBoss的技术原理
- 复杂漏洞生成(BugPilot):
- FeatAdd 方法:通过让语言模型代理(LLM)在代码库中添加新功能,无意中引入漏洞。这种方法模拟了真实软件开发中因功能扩展而产生的漏洞,生成的漏洞更具多样性和复杂性。
- BugInstruct 方法:作为对比,让代理直接引入漏洞,这种方式生成的漏洞较为简单,与真实场景差异较大。
- 高质量数据训练:使用 FeatAdd 方法生成的高质量漏洞数据,结合其他数据集(如 R2E-Gym 和 SWE-Smith),进行监督式微调(SFT)和强化学习(RL)训练。这种训练方式使 FrogBoss 在解决复杂软件工程任务时表现出色,同时提高数据利用效率。
FrogBoss的项目地址
- 项目官网:https://microsoft.github.io/debug-gym/blog/2025/10/bug-pilot/
- HuggingFace模型库:
- https://huggingface.co/microsoft/FrogBoss-32B-2510
- https://huggingface.co/microsoft/FrogMini-14B-2510
- arXiv技术论文:https://arxiv.org/pdf/2510.19898
FrogBoss的应用场景
-
代码调试与漏洞修复:FrogBoss 能自动检测代码漏洞,生成修复建议,显著提升软件稳定性和开发效率。
-
软件开发效率提升:通过辅助功能开发和优化代码,FrogBoss 帮助开发人员快速实现高质量的代码。
-
自动化测试:FrogBoss 能自动生成测试用例和分析测试结果,助力更全面的软件测试。
-
代码审查与质量保证:在代码审查中快速发现潜在问题,确保软件符合高质量标准。
-
教育与培训:作为教学工具,FrogBoss 提供代码示例和错误分析,帮助学生和开发者提升编程技能。