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

  • Lei Zhang
  • , Jiaxi Yang
  • , Min Yang*
  • , Jian Yang
  • , Mouxiang Chen
  • , Jiajun Zhang
  • , Zeyu Cui
  • , Binyuan Hui*
  • , Junyang Lin
  • *Corresponding author for this work

Research output: Contribution to journalConference articlepeer-review

Abstract

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-Bench 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.

Original languageEnglish
Pages (from-to)6518-76540
Number of pages70023
JournalProceedings of Machine Learning Research
Volume267
StatePublished - 2025
Externally publishedYes
Event42nd International Conference on Machine Learning, ICML 2025 - Vancouver, Canada
Duration: 13 Jul 202519 Jul 2025

Fingerprint

Dive into the research topics of 'SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner'. Together they form a unique fingerprint.

Cite this