SWE-smith: Schaalvergroting van gegevens voor software-engineeringagenten
SWE-smith: Scaling Data for Software Engineering Agents
April 30, 2025
Auteurs: John Yang, Kilian Leret, Carlos E. Jimenez, Alexander Wettig, Kabir Khandpur, Yanzhe Zhang, Binyuan Hui, Ofir Press, Ludwig Schmidt, Diyi Yang
cs.AI
Samenvatting
Ondanks recente vooruitgang in Taalmodellen (LMs) voor software engineering, blijft het verzamelen van trainingsgegevens een belangrijk pijnpunt. Bestaande datasets zijn klein, met hooguit enkele duizenden trainingsinstanties afkomstig van 11 of minder GitHub-repositories. De procedures om dergelijke datasets samen te stellen zijn vaak complex en vereisen honderden uren menselijke arbeid; bijbehorende uitvoeringsomgevingen nemen ook meerdere terabytes aan opslagruimte in beslag, wat hun schaalbaarheid en bruikbaarheid ernstig beperkt. Om dit pijnpunt aan te pakken, introduceren we SWE-smith, een nieuwe pijplijn voor het genereren van software engineering-trainingsgegevens op grote schaal. Gegeven een willekeurige Python-codebase, construeert SWE-smith een bijbehorende uitvoeringsomgeving en synthetiseert vervolgens automatisch honderden tot duizenden taakinstanties die bestaande test(s) in de codebase breken. Met behulp van SWE-smith hebben we een dataset gecreëerd van 50k instanties afkomstig van 128 GitHub-repositories, een orde van grootte groter dan alle eerdere werken. We trainen SWE-agent-LM-32B, dat een 40,2% Pass@1-resolutiepercentage behaalt op de SWE-bench Verified benchmark, wat state of the art is onder open source-modellen. We maken SWE-smith open source (verzamelprocedure, taakinstanties, trajecten, modellen) om de drempel voor onderzoek naar LM-systemen voor geautomatiseerde software engineering te verlagen. Alle assets zijn beschikbaar op https://swesmith.com.
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.