ChatPaper.aiChatPaper

SWE-smith: Skalierung von Daten für Software-Engineering-Agenten

SWE-smith: Scaling Data for Software Engineering Agents

April 30, 2025
Autoren: John Yang, Kilian Leret, Carlos E. Jimenez, Alexander Wettig, Kabir Khandpur, Yanzhe Zhang, Binyuan Hui, Ofir Press, Ludwig Schmidt, Diyi Yang
cs.AI

Zusammenfassung

Trotz der jüngsten Fortschritte bei Sprachmodellen (LMs) für die Softwareentwicklung bleibt die Sammlung von Trainingsdaten ein erhebliches Problem. Bestehende Datensätze sind klein, mit höchstens einigen tausend Trainingsinstanzen aus 11 oder weniger GitHub-Repositories. Die Verfahren zur Erstellung solcher Datensätze sind oft komplex und erfordern Hunderte von Stunden menschlicher Arbeit; begleitende Ausführungsumgebungen beanspruchen ebenfalls mehrere Terabyte Speicherplatz, was ihre Skalierbarkeit und Nutzbarkeit erheblich einschränkt. Um dieses Problem zu lösen, stellen wir SWE-smith vor, eine neuartige Pipeline zur Generierung von Trainingsdaten für die Softwareentwicklung in großem Maßstab. Für jedes Python-Codebasis erstellt SWE-smith eine entsprechende Ausführungsumgebung und synthetisiert automatisch Hunderte bis Tausende von Aufgabeninstanzen, die bestehende Tests im Codebasis brechen. Mit SWE-smith haben wir einen Datensatz von 50.000 Instanzen aus 128 GitHub-Repositories erstellt, der um eine Größenordnung größer ist als alle bisherigen Arbeiten. Wir trainieren SWE-agent-LM-32B und erreichen eine Pass@1-Auflösungsrate von 40,2 % auf dem SWE-bench Verified Benchmark, was den Stand der Technik unter den Open-Source-Modellen darstellt. Wir stellen SWE-smith (Sammelverfahren, Aufgabeninstanzen, Trajektorien, Modelle) als Open Source zur Verfügung, um die Einstiegshürde für die Forschung in LM-Systemen für die automatisierte Softwareentwicklung zu senken. Alle Assets sind unter https://swesmith.com verfügbar.
English
Despite recent progress in Language Models (LMs) for software engineering, collecting training data remains a significant pain point. Existing datasets are small, with at most 1,000s of training instances from 11 or fewer GitHub repositories. The procedures to curate such datasets are often complex, necessitating hundreds of hours of human labor; companion execution environments also take up several terabytes of storage, severely limiting their scalability and usability. To address this pain point, we introduce SWE-smith, a novel pipeline for generating software engineering training data at scale. Given any Python codebase, SWE-smith constructs a corresponding execution environment, then automatically synthesizes 100s to 1,000s of task instances that break existing test(s) in the codebase. Using SWE-smith, we create a dataset of 50k instances sourced from 128 GitHub repositories, an order of magnitude larger than all previous works. We train SWE-agent-LM-32B, achieving 40.2% Pass@1 resolve rate on the SWE-bench Verified benchmark, state of the art among open source models. We open source SWE-smith (collection procedure, task instances, trajectories, models) to lower the barrier of entry for research in LM systems for automated software engineering. All assets available at https://swesmith.com.

Summary

AI-Generated Summary

PDF71May 7, 2025