ChatPaper.aiChatPaper

SWE-Flow: Sintetizando Dados de Engenharia de Software de Forma Orientada a Testes

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

Resumo

Apresentamos o **SWE-Flow**, uma nova estrutura de síntese de dados baseada em Desenvolvimento Orientado a Testes (TDD). Diferente dos dados de engenharia de software existentes que dependem de problemas submetidos por humanos, o **SWE-Flow** infere automaticamente etapas incrementais de desenvolvimento diretamente a partir de testes unitários, que encapsulam intrinsecamente requisitos de alto nível. O núcleo do **SWE-Flow** é a construção de um Grafo de Dependência de Tempo de Execução (RDG), que captura com precisão as interações entre funções, permitindo a geração de um *cronograma de desenvolvimento* estruturado e passo a passo. Em cada etapa, o **SWE-Flow** produz uma base de código parcial, os testes unitários correspondentes e as modificações de código necessárias, resultando em tarefas TDD totalmente verificáveis. Com essa abordagem, geramos 16.061 instâncias de treinamento e 2.020 instâncias de teste a partir de projetos reais do GitHub, criando o benchmark **SWE-Flow-Eval**. Nossos experimentos mostram que o ajuste fino de modelos abertos nesse conjunto de dados melhora significativamente o desempenho em codificação baseada em TDD. Para facilitar pesquisas futuras, disponibilizamos todo o código, conjuntos de dados, modelos e imagens Docker no [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