SWE-Flow: Síntesis de Datos de Ingeniería de Software de Manera Guiada por Pruebas
SWE-Flow: Synthesizing Software Engineering Data in a Test-Driven Manner
June 10, 2025
Autores: Lei Zhang, Jiaxi Yang, Min Yang, Jian Yang, Mouxiang Chen, Jiajun Zhang, Zeyu Cui, Binyuan Hui, Junyang Lin
cs.AI
Resumen
Presentamos **SWE-Flow**, un novedoso marco de síntesis de datos basado en el Desarrollo Guiado por Pruebas (TDD, por sus siglas en inglés). A diferencia de los datos de ingeniería de software existentes que dependen de problemas enviados por humanos, **SWE-Flow** infiere automáticamente pasos de desarrollo incrementales directamente a partir de pruebas unitarias, las cuales encapsulan inherentemente requisitos de alto nivel. El núcleo de **SWE-Flow** es la construcción de un Grafo de Dependencias en Tiempo de Ejecución (RDG, por sus siglas en inglés), que captura con precisión las interacciones entre funciones, permitiendo la generación de un *cronograma de desarrollo* estructurado y paso a paso. En cada paso, **SWE-Flow** produce un código base parcial, las pruebas unitarias correspondientes y las modificaciones de código necesarias, lo que resulta en tareas de TDD completamente verificables. Con este enfoque, generamos 16,061 instancias de entrenamiento y 2,020 instancias de prueba a partir de proyectos reales de GitHub, creando el benchmark **SWE-Flow-Eval**. Nuestros experimentos muestran que el ajuste fino de modelos abiertos en este conjunto de datos mejora significativamente el rendimiento en la codificación basada en TDD. Para facilitar investigaciones futuras, publicamos todo el código, conjuntos de datos, modelos e imágenes de Docker en [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).