Details
| Title | Применение комбинированной трансформерной архитектуры нейронных сетей для классификации уязвимостей в исходном коде на языке C++: выпускная квалификационная работа бакалавра: направление 10.03.01 «Информационная безопасность» ; образовательная программа 10.03.01_05 «Безопасность компьютерных систем (Интеллектуальная защита от киберугроз)» = Application of a Combined Transformer Architecture of Neural Networks for Classifying Vulnerabilities in C++ Source Code |
|---|---|
| Creators | Аксенов Данил Андреевич |
| Scientific adviser | Павленко Евгений Юрьевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | статический анализ ; генерация кода ; классификация уязвимостей ; нейронные сети ; трансформерная архитектура ; CWE ; static analysis ; code generation ; vulnerability classification ; neural networks ; transformer architecture |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 10.03.01 |
| Speciality group (FGOS) | 100000 - Информационная безопасность |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3145 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42819 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
| Group | Anonymous |
|---|---|
| Network | Internet |
Целью работы является повышение качества генерации рекомендательных сообщений по исправлению уязвимостей в исходном коде на языках программирования C/C++ на основе их CWE-специфичной классификации с использованием комбинированной трансформерной архитектуры искусственных нейронных сетей. Задачи, решаемые в ходе исследования: - провести анализ современных подходов к использованию больших языковых моделей для обнаружения и классификации уязвимостей в исходном коде на языках программирования С/С++, для генерации рекомендательного сообщения, а также анализ существующих наборов данных, применимых к настройке и оценке качества моделей классификации уязвимостей и генерации рекомендательного сообщения; - разработать программный комплекс на основе комбинированной трансформерной архитектуры нейронных сетей, включающий компонент на основе модели-кодировщика для CWE-специфичной классификации уязвимостей в программном коде на C/C++ и компонент на основе модели-декодировщика для генерации рекомендательного сообщения; - провести экспериментальное сравнение разработанного комплекса с существующими решениями (статические анализаторы, отдельные модели на основе кодировщика в части CWE-специфичной классификации уязвимостей и модели на основе декодировщика в части генерации рекомендательного сообщения) на выбранных для тестирования наборах данных. В результате работы разработан программный комплекс на основе комбинированной трансформерной архитектуры нейронных сетей для обнаружения, классификации уязвимостей в исходном коде на языках программирования C/C++ и генерации рекомендательных сообщений. Продемонстрировано превосходство разработанного комплекса над существующими аналогами в части CWE-специфичной классификации и в части генерации рекомендательных исправлений. Полученные результаты могут быть использованы для создания новых средств автоматизированного анализа и устранения уязвимостей в исходном коде на языках программирования C/C++. Для достижения данных результатов использовались язык программирования Python, библиотеки машинного обучения PyTorch и HuggingFace Transformers, открытые наборы данных уязвимостей BigVul и PrimeVul, предобученные трансформерные модели UniXcoder-Base-Nine и DeepSeek-Coder-6.7B-Instruct, а также облачная вычислительная среда Google Colab.
The purpose of the study is to improve the quality of generating recommendations for fixing vulnerabilities in source code written in C/C++ based on their CWE-specific classification using a combined transformer architecture of artificial neural networks. The research set the following goals: - analyze modern approaches to using large language models for the detection and classification of vulnerabilities in source code written in C/C++, as well as analyze existing datasets applicable to the training and evaluation of vulnerability classification models; - develop a software system based on a combined transformer architecture of neural networks, including a component based on an encoder model for CWE-specific classification of vulnerabilities in C/C++ source code and a component based on a decoder model for generating advisory messages; - conduct an experimental comparison of the developed system with existing solutions (static analyzers, separate encoder-based models for CWE-specific vulnerability classification, and decoder-based models for generating recommendation messages) on datasets selected for testing. As a result of this work, a software system based on a combined transformer architecture of neural networks was developed for detecting and classifying vulnerabilities in source code written in the C/C++ programming languages and for generating recommendation messages. The superiority of the developed system over existing counterparts in terms of CWE-specific classification and the generation of recommended fixes has been demonstrated. The results obtained can be used to create new tools for the automated analysis and elimination of vulnerabilities in source code written in the C/C++ programming languages. To achieve these results, the Python programming language, the PyTorch and HuggingFace Transformers machine learning libraries, the BigVul and PrimeVul open vulnerability datasets, the pre-trained UniXcoder-Base-Nine and DeepSeek-Coder-6.7B-Instruct transformer models, and the Google Colab cloud computing environment were used.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|