Details
| Title | ИИ-агент для генерации тестов и автоисправления дефектов: выпускная квалификационная работа бакалавра: направление 02.03.02 «Фундаментальная информатика и информационные технологии» ; образовательная программа 02.03.02_02 «Информатика и компьютерные науки» = AI Agent for Test Generation and Automated Defect Repair |
|---|---|
| Creators | Третьяков Тимофей Михайлович |
| Scientific adviser | Самочадина Татьяна Николаевна |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | ИИ-агент ; Go ; статический анализ ; AST ; автоматическое исправление кода ; генерация тестов ; LLM ; валидация ; AI agent ; static analysis ; automated program repair ; test generation ; validation |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 02.03.02 |
| Speciality group (FGOS) | 020000 - Компьютерные и информационные науки |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3461 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42654 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Данная работа посвящена разработке программного прототипа ИИ-агента, предназначенного для автоматизированного анализа Go-проектов, обнаружения типовых дефектов, выбора стратегии их обработки, применения безопасных исправлений, генерации тестов и проверки результата. В ходе работы решались следующие задачи: анализ существующих подходов к статическому анализу и автоматическому исправлению программного кода; исследование возможностей LLM для генерации исправлений; проектирование архитектуры ИИ-агента; реализация модулей анализа, принятия решений, исправления дефектов, генерации тестов, валидации и отчётности; экспериментальная проверка разработанного решения. В результате был реализован гибридный подход, сочетающий детерминированные шаблонные исправления, контролируемое использование больших языковых моделей и ручной анализ рискованных случаев. Экспериментальная проверка разработанного решения подтвердила корректность выбранной методики: система обнаружила и устранила поддерживаемые дефекты, применила шаблонные и LLM-исправления, сгенерировала тесты и достигла покрытия кода 94,40 %. Все принятые изменения прошли сборку, тестирование и валидацию. Для достижения полученных результатов использовались следующие информационные технологии: язык программирования Go, пакеты go/ast, go/parser, go/token и go/types, команды go build, go test и go tool cover, Staticcheck, golangci-lint, OpenRouter API, YAML, JSON, Git, GitLab, Visual Studio Code и технологии искусственного интеллекта для поддержки автоматизированного анализа программного кода.
This work is devoted to the development of a software prototype called AI-agent. The system is designed for automated analysis of Go projects, detection of typical defects, selection of a processing strategy, safe code repair, test generation and validation of applied changes. The research addressed the following objectives: analysis of existing approaches to static code analysis and automated program repair; investigation of large language model capabilities for code-fix generation; design of the AI-agent architecture; implementation of modules for analysis, decision making, defect repair, test generation, validation and reporting; experimental evaluation of the proposed solution. As a result, a hybrid approach was implemented. It combines deterministic template-based fixes, controlled use of large language models and manual review for risky cases. The experimental evaluation confirmed the correctness of the proposed methodology: the system detected and resolved supported defects, applied both template-based and LLM-generated fixes, generated tests and achieved 94.40% code coverage. All accepted changes successfully passed build, testing and validation stages. The following information technologies were used during the research: Go programming language, go/ast, go/parser, go/token and go/types packages, go build, go test and go tool cover commands, Staticcheck, golangci-lint, OpenRouter API, YAML, JSON, Git, GitLab, Visual Studio Code and artificial intelligence technologies for automated static code analysis.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|