ChatPaper.aiChatPaper

SWE-smith : Mise à l'échelle des données pour les agents d'ingénierie logicielle

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

Résumé

Malgré les progrès récents des modèles de langage (LMs) pour l'ingénierie logicielle, la collecte de données d'entraînement reste un défi majeur. Les ensembles de données existants sont de petite taille, avec au maximum quelques milliers d'exemples d'entraînement provenant de 11 dépôts GitHub ou moins. Les procédures pour constituer ces ensembles de données sont souvent complexes, nécessitant des centaines d'heures de travail humain ; les environnements d'exécution associés occupent également plusieurs téraoctets de stockage, limitant fortement leur évolutivité et leur utilité. Pour résoudre ce problème, nous présentons SWE-smith, un pipeline innovant pour générer des données d'entraînement en ingénierie logicielle à grande échelle. Étant donné un codebase Python quelconque, SWE-smith construit un environnement d'exécution correspondant, puis synthétise automatiquement des centaines à des milliers d'exemples de tâches qui font échouer les tests existants dans le codebase. En utilisant SWE-smith, nous créons un ensemble de données de 50 000 exemples provenant de 128 dépôts GitHub, soit un ordre de grandeur supérieur à tous les travaux précédents. Nous entraînons SWE-agent-LM-32B, atteignant un taux de résolution Pass@1 de 40,2 % sur le benchmark SWE-bench Verified, établissant ainsi l'état de l'art parmi les modèles open source. Nous rendons SWE-smith open source (procédure de collecte, exemples de tâches, trajectoires, modèles) pour abaisser le seuil d'entrée dans la recherche sur les systèmes de LMs pour l'ingénierie logicielle automatisée. Tous les actifs sont disponibles à l'adresse 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.

Summary

AI-Generated Summary

PDF71May 7, 2025