ChatPaper.aiChatPaper

SWE-Flow : Synthèse de données en génie logiciel selon une approche pilotée par les tests

SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner

June 10, 2025
Auteurs: Lei Zhang, Jiaxi Yang, Min Yang, Jian Yang, Mouxiang Chen, Jiajun Zhang, Zeyu Cui, Binyuan Hui, Junyang Lin
cs.AI

Résumé

Nous présentons **SWE-Flow**, un nouveau cadre de synthèse de données basé sur le développement piloté par les tests (Test-Driven Development, TDD). Contrairement aux données existantes en ingénierie logicielle qui s'appuient sur des problèmes soumis par des humains, **SWE-Flow** infère automatiquement des étapes de développement incrémentales directement à partir des tests unitaires, qui encapsulent intrinsèquement des exigences de haut niveau. Le cœur de **SWE-Flow** repose sur la construction d'un graphe de dépendances d'exécution (Runtime Dependency Graph, RDG), qui capture précisément les interactions entre les fonctions, permettant ainsi la génération d'un *calendrier de développement* structuré étape par étape. À chaque étape, **SWE-Flow** produit une base de code partielle, les tests unitaires correspondants et les modifications de code nécessaires, aboutissant à des tâches TDD entièrement vérifiables. Avec cette approche, nous avons généré 16 061 instances d'entraînement et 2 020 instances de test à partir de projets GitHub réels, créant ainsi le benchmark **SWE-Flow-Eval**. Nos expériences montrent que l'affinage de modèles ouverts sur cet ensemble de données améliore significativement les performances dans le codage basé sur le TDD. Pour faciliter les recherches ultérieures, nous publions l'intégralité du code, des ensembles de données, des modèles et des images Docker sur [Github](https://github.com/Hambaobao/SWE-Flow).
English
We introduce **SWE-Flow**, a novel data synthesis framework grounded in Test-Driven Development (TDD). Unlike existing software engineering data that rely on human-submitted issues, **SWE-Flow** automatically infers incremental development steps directly from unit tests, which inherently encapsulate high-level requirements. The core of **SWE-Flow** is the construction of a Runtime Dependency Graph (RDG), which precisely captures function interactions, enabling the generation of a structured, step-by-step *development schedule*. At each step, **SWE-Flow** produces a partial codebase, the corresponding unit tests, and the necessary code modifications, resulting in fully verifiable TDD tasks. With this approach, we generated 16,061 training instances and 2,020 test instances from real-world GitHub projects, creating the **SWE-Flow-Eval** benchmark. Our experiments show that fine-tuning open model on this dataset significantly improves performance in TDD-based coding. To facilitate further research, we release all code, datasets, models, and Docker images at [Github](https://github.com/Hambaobao/SWE-Flow).
PDF153June 12, 2025