ChatPaper.aiChatPaper

SWE-Flow: Синтез данных в области разработки программного обеспечения с использованием тест-ориентированного подхода

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

June 10, 2025
Авторы: Lei Zhang, Jiaxi Yang, Min Yang, Jian Yang, Mouxiang Chen, Jiajun Zhang, Zeyu Cui, Binyuan Hui, Junyang Lin
cs.AI

Аннотация

Мы представляем **SWE-Flow**, новый фреймворк для синтеза данных, основанный на методологии разработки через тестирование (Test-Driven Development, TDD). В отличие от существующих данных в области программной инженерии, которые полагаются на проблемы, представленные людьми, **SWE-Flow** автоматически выводит инкрементальные шаги разработки непосредственно из модульных тестов, которые по своей природе инкапсулируют высокоуровневые требования. Основой **SWE-Flow** является построение графа зависимостей времени выполнения (Runtime Dependency Graph, RDG), который точно фиксирует взаимодействия функций, что позволяет генерировать структурированный пошаговый *график разработки*. На каждом шаге **SWE-Flow** создает частичную кодовую базу, соответствующие модульные тесты и необходимые изменения кода, формируя полностью проверяемые задачи TDD. С помощью этого подхода мы сгенерировали 16 061 обучающий пример и 2 020 тестовых примеров из реальных проектов GitHub, создав эталонный набор данных **SWE-Flow-Eval**. Наши эксперименты показывают, что тонкая настройка открытых моделей на этом наборе данных значительно улучшает производительность в кодировании на основе TDD. Для содействия дальнейшим исследованиям мы публикуем весь код, наборы данных, модели и Docker-образы на [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