Детальная информация

Название Разработка автоматизированной системы поддержки процессов непрерывной интеграции исходного кода: выпускная квалификационная работа бакалавра: направление 09.03.01 «Информатика и вычислительная техника» ; образовательная программа 09.03.01_01 «Разработка компьютерных систем» = Development of an automated support system for continuous integration processes of source code
Авторы Куликов Никита Вячеславович
Научный руководитель Тарасов Олег Михайлович
Организация Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Выходные сведения Санкт-Петербург, 2026
Коллекция Выпускные квалификационные работы ; Общая коллекция
Тематика непрерывная интеграция ; статический анализ кода ; абстрактное синтаксическое дерево ; tree-sitter ; граф зависимостей ; система контроля версий ; байесовское сглаживание ; аномальные конструкции ; continuous integration ; static code analysis ; abstract syntax tree ; dependency graph ; version control system ; bayesian smoothing ; anomalous constructs
Тип документа Выпускная квалификационная работа бакалавра
Язык Русский
Уровень высшего образования Бакалавриат
Код специальности ФГОС 09.03.01
Группа специальностей ФГОС 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-2069
Права доступа Доступ по паролю из сети Интернет (чтение)
Дополнительно Новинка
Ключ записи ru\spstu\vkr\42873
Дата создания записи 21.08.2026

Разрешенные действия

Действие 'Прочитать' будет возможно после подготовки администраторами необходимых файлов

Группа Анонимные пользователи
Сеть Интернет

Современное программное обеспечение в значительное мере строится на основе сторонних библиотек с открытым исходным кодом, такой подход используется в 90% крупных проектах. При таком объеме заимствованного кода сборочный конвейер и вся программная архитектура подвергается рис- кам: нестабильные зависимости, устаревшие версии библиотек, аномальные конструкции. Существующие инструменты контроля сборки опираются на текстовый поиск либо облачные базы известных уязвимостей, а это приводит к частым ложным срабатываниям и не позволяет работать в изолированном контуре организации локально. В итоге актуальной становится задача создания локального инструмента, способного автоматически принимать решение о допуске сборки на основе комплексного анализа исходного кода. Данная работа посвящена созданию агента поддержки сборочного конвейера, объединяющего многоязычный синтаксический разбор, анализ графа зависимостей и оценку метаданных системы контроля версий. Задачи, которые решались в ходе разработки: 1. Анализ существующих решений поддержки сборочных конвейеров и обзор алгоритмов статического анализа исходного кода; 2. Разработка модуля анализа графа зависимостей для разбора манифестов и построения графа прямых и транзитивных библиотек; 3. Разработка модуля трансляции исходного кода в абстрактные синтаксические деревья на базе библиотеки Tree-sitter с поддержкой нескольких языков программирования; 4. Разработка эвристического алгоритма обхода дерева для выявления аномальных конструкций в коде; 5. Разработка модуля анализа метаданных системы контроля версий для оценки поведения авторов коммитов; 6. Разработка метода математической агрегации разнородных метрик с при- менением байесовского сглаживания; 7. Интеграция разработанных модулей в сборочный конвейер; 8. Экспериментальная оценка скорости и точности работы алгоритмов на размеченной выборке проектов.

Modern software largely consists of third-party open-source libraries, whose share in large projects reaches 90%. With such volumes of borrowed code, the build pipeline is exposed to engineering risks: the inclusion of unstable dependencies, outdated library versions, and anomalous constructs. Existing build control tools rely either on text-based search or cloud databases of known vulnerabilities, which leads to a large number of false positives and does not allow operation within an isolated corporate environment. In this regard, the urgent task is to create a local tool capable of automatically making decisions on build admission based on comprehensive source code analysis. The given work is devoted to creating a software agent for build pipeline support that combines multi-language syntactic parsing, dependency graph analysis, and version control metadata evaluation. The development set the following goals: 1. Analysis of existing build pipeline support solutions and review of static source code analysis algorithms; 2. Development of a dependency graph analysis module for parsing manifests and building a graph of direct and transitive libraries; 3. Development of a multi-language source code translation module into abstract syntax trees based on the Tree-sitter library; 4. Development of a heuristic tree traversal algorithm for detecting anomalous combinations of code constructs; 5. Development of a version control metadata analysis module for evaluating the behavior of commit authors; 6. Development of a method for mathematical aggregation of heterogeneous metrics using Bayesian smoothing; 7. Integration of the developed modules into an experimental build pipeline; 8. Experimental evaluation of the speed and accuracy of the algorithms on a labeled sample of projects.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Интернет Авторизованные пользователи СПбПУ
Интернет Анонимные пользователи
...