ChatPaper.aiChatPaper

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).
PDF163June 12, 2025