Детальная информация
| Название | Разработка автоматизированной системы поддержки процессов непрерывной интеграции исходного кода: выпускная квалификационная работа бакалавра: направление 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.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|