ChatPaper.aiChatPaper

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