BugPilot: Complex Bug Generation for Efficient Learning of SWE Skills
By: Atharv Sonwane , Isadora White , Hyunji Lee and more
Potential Business Impact:
Teaches computers to find and fix coding mistakes.
High quality bugs are key to training the next generation of language model based software engineering (SWE) agents. We introduce a novel method for synthetic generation of difficult and diverse bugs. Our method instructs SWE Agents to introduce a feature into the codebase whereby they may unintentionally break tests, resulting in bugs. Prior approaches often induce an out-of-distribution effect by generating bugs intentionally (e.g. by introducing local perturbation to existing code), which does not reflect realistic development processes. We perform qualitative analysis to demonstrate that our approach for generating bugs more closely reflects the patterns found in human-authored edits. Through extensive experiments, we demonstrate that our bugs provide more efficient training data for supervised fine-tuning, outperforming other bug datasets by 2% with half the training data (1.2k vs. 3k bugs). We train on our newly generated bugs in addition to existing bug datasets to get FrogBoss a state-of-the-art 32B parameter model on SWE-bench Verified with a pass@1 of 54.6% and FrogMini a state-of-the-art 14B model on SWE-bench Verified with a pass@1 of 45.3% on SWE-bench Verified averaged over three seeds.
Similar Papers
BugPilot: Complex Bug Generation for Efficient Learning of SWE Skills
Software Engineering
Creates better computer helpers by teaching them with realistic mistakes.
SWE-Synth: Synthesizing Verifiable Bug-Fix Data to Enable Large Language Models in Resolving Real-World Bugs
Software Engineering
Fixes computer code automatically and better.
SWE-Factory: Your Automated Factory for Issue Resolution Training Data and Evaluation Benchmarks
Software Engineering
Helps computers learn to fix software bugs faster.