Details
| Title | Автоматическая генерация unit-тестов в CI/CD с использованием языковой модели: выпускная квалификационная работа магистра: направление 09.04.03 «Прикладная информатика» ; образовательная программа 09.04.03_04 «Интеллектуальные технологии управления знаниями и данными» = Automatic generation of unit tests in CI/CD using a language model |
|---|---|
| Creators | Гизатулин Артём Гайнанович |
| Scientific adviser | Сергеев Анатолий Васильевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | генерация юнит-тестов ; CI/CD ; языковые модели ; статический анализ кода ; язык Go ; unit-test generation ; language models ; static code analysis ; Go language |
| Document type | Master graduation qualification work |
| Language | Russian |
| Level of education | Master |
| Speciality code (FGOS) | 09.04.03 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-4883 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\45056 |
| Record create date | 9/4/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Объект исследования — процесс автоматической генерации юнит-тестов в CI/CD-пайплайне. Тема — автоматическая генерация юнит-тестов в CI/CD с использованием языковой модели. Цель — разработка метода и программного средства автоматической генерации юнит-тестов по изменённому коду для проектов на языке Go. В работе применены гибридный статический анализ на уровне абстрактного синтаксического дерева и системы типов, дифференциальный анализ Pull Request и самовосстанавливающийся цикл генерации со структурированной обратной связью на основе вывода тестового фреймворка. Экспериментальная оценка проведена на восьми open-source Go-проектах для семи языковых моделей (1008 запусков). В результате разработан open-source инструмент SAGA. Программная обвязка переводит пять моделей из семи в более высокую категорию практической пригодности, мутационная стойкость генерируемых тестов составляет 89,6–98,2%, функциональное кэширование сокращает время повторной пересборки Pull Request в CI на 52% и расход токенов на 31–43%. Область применения результатов — автоматизация написания юнит-тестов в CI/CD-процессах промышленной разработки на языке Go. Выводы: метод обеспечивает практически пригодное качество автогенерации тестов для изменённого кода, а вклад компонентов программной обвязки подтверждён ablation-исследованием.
The object of the study is the process of automated unit-test generation in a CI/CD pipeline. The subject is automated unit-test generation in CI/CD using a language model. The goal is to develop a method and a software tool for automated unit-test generation from changed code for projects in the Go programming language. The methods applied are hybrid static analysis at the level of the abstract syntax tree and the type system, differential analysis of Pull Request changes and a self-healing generation loop with structured feedback from the testing-framework output. The experimental evaluation was performed on eight open-source Go projects with seven language models (1008 runs). As a result, the open-source tool SAGA was developed. The software envelope promotes five of seven models to a higher tier of practical suitability, the mutation score of generated tests lies in 89.6–98.2%, and functional caching reduces Pull Request re-build time in CI by 52% and token consumption by 31–43%. The scope of application of the results is the automation of unit-test writing in CI/CD processes of industrial Go development. Conclusions: the method delivers practically usable quality of automated test generation for changed code, and the contribution of each component of the software envelope is confirmed by an ablation study.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|