SWE-Flow: Synthetisierung von Software-Engineering-Daten in einem testgetriebenen Ansatz
SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner
June 10, 2025
Autoren: Lei Zhang, Jiaxi Yang, Min Yang, Jian Yang, Mouxiang Chen, Jiajun Zhang, Zeyu Cui, Binyuan Hui, Junyang Lin
cs.AI
Zusammenfassung
Wir stellen **SWE-Flow** vor, ein neuartiges Daten-Synthese-Framework, das auf Test-Driven Development (TDD) basiert. Im Gegensatz zu bestehenden Software-Engineering-Daten, die auf von Menschen eingereichten Issues beruhen, leitet **SWE-Flow** automatisch inkrementelle Entwicklungsschritte direkt aus Unit-Tests ab, die inhärent hochrangige Anforderungen abbilden. Das Kernstück von **SWE-Flow** ist die Konstruktion eines Runtime Dependency Graphs (RDG), der präzise die Interaktionen zwischen Funktionen erfasst und die Generierung eines strukturierten, schrittweisen *Entwicklungsplans* ermöglicht. In jedem Schritt erzeugt **SWE-Flow** einen partiellen Codebestand, die entsprechenden Unit-Tests sowie die notwendigen Code-Modifikationen, was zu vollständig verifizierbaren TDD-Aufgaben führt. Mit diesem Ansatz generierten wir 16.061 Trainingsinstanzen und 2.020 Testinstanzen aus realen GitHub-Projekten und schufen damit den **SWE-Flow-Eval**-Benchmark. Unsere Experimente zeigen, dass das Fine-Tuning von Open-Modellen auf diesem Datensatz die Leistung bei TDD-basiertem Programmieren signifikant verbessert. Um weitere Forschung zu ermöglichen, veröffentlichen wir den gesamten Code, die Datensätze, Modelle und Docker-Images auf [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).