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
Download
Internet Authorized users SPbPU
Download
Internet Anonymous
...