SWE-Flow: Synthetiseren van software-engineeringgegevens op een testgestuurde manier
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
Samenvatting
We introduceren **SWE-Flow**, een nieuw raamwerk voor datasynthese gebaseerd op
Test-Driven Development (TDD). In tegenstelling tot bestaande software-engineeringdata die
afhankelijk zijn van door mensen ingediende issues, leidt **SWE-Flow** automatisch incrementele
ontwikkelingsstappen af direct vanuit unittests, die inherent hoogwaardige vereisten omvatten. De kern van **SWE-Flow** is de constructie van een
Runtime Dependency Graph (RDG), die nauwkeurig functie-interacties vastlegt,
waardoor de generatie van een gestructureerd, stapsgewijs *ontwikkelingsschema* mogelijk wordt.
Bij elke stap produceert **SWE-Flow** een gedeeltelijke codebase, de bijbehorende unittests,
en de benodigde codewijzigingen, wat resulteert in volledig verifieerbare TDD-taken.
Met deze aanpak hebben we 16.061 trainingsinstanties en 2.020
testinstanties gegenereerd uit real-world GitHub-projecten, waardoor de **SWE-Flow-Eval**
benchmark is gecreëerd. Onze experimenten tonen aan dat het finetunen van open modellen op deze dataset
de prestaties aanzienlijk verbetert bij TDD-gebaseerd programmeren. Om verder onderzoek te faciliteren,
maken we alle code, datasets, modellen en Docker-images beschikbaar op
[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).