Details

Title Разработка LLM-агента для автоматизации первичной обработки результатов статического анализа исходного кода: выпускная квалификационная работа магистра: направление 02.04.01 «Математика и компьютерные науки» ; образовательная программа 02.04.01_03 «Искусственный интеллект и машинное обучение» = Development of an LLM-agent for automating the initial processing of source code static analysis results
Creators Гаврилов Антон Игоревич
Scientific adviser Силиненко Александр Витальевич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects статический анализ исходного кода ; ложноположительные срабатывания ; большие языковые модели ; LLM-агенты ; мультиагентная архитектура ; разработка безопасного ПО ; static source code analysis ; false positives ; large language models ; LLM agents ; multi-agent architecture ; secure software development
Document type Master graduation qualification work
Language Russian
Level of education Master
Speciality code (FGOS) 02.04.01
Speciality group (FGOS) 020000 - Компьютерные и информационные науки
DOI 10.18720/SPBPU/3/2026/vr/vr26-4856
Rights Доступ по паролю из сети Интернет (чтение)
Additionally New arrival
Record key ru\spstu\vkr\45029
Record create date 9/4/2026

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Объектом исследования является процесс первичной обработки результатов статического анализа исходного кода. Предметом исследования являются методы автоматизации первичной обработки результатов статического анализа с использованием LLM-агентов. Целью работы является разработка LLM-агента, выполняющего автоматизированную классификацию срабатываний статического анализатора с формированием обоснования на естественном языке. В ходе работы исследованы принципы работы существующих инструментов статического анализа исходного кода; проанализированы современные методы применения искусственного интеллекта, машинного обучения и обработки естественного языка к анализу исходного кода программного обеспечения; сформулированы функциональные и нефункциональные требования к LLM-агенту. На основе требований разработана мультиагентная архитектура, состоящая из Координатора, формирующего план анализа и выносящего вердикт; Критика, верифицирующего решение Координатора, и субагентов, выполняющих изучение кодовой базы в изолированных контекстных окнах. В результате работы на языке Python с использованием библиотеки LangGraph реализован программный прототип <<ReChecker>>. Исходный код прототипа опубликован в открытом доступе. Эффективность прототипа подтверждена экспериментальной оценкой на наборе из 506 размеченных срабатываний Clang Static Analyzer по трём крупным открытым проектам - веб-серверу Apache, ядру ОС FreeBSD, интерпретатору языка PHP. Область применения результатов работы - автоматизация процессов разработки безопасного ПО, прежде всего для систем повышенной ответственности: средств защиты информации, значимых объектов критической информационной инфраструктуры и встраиваемого программного обеспечения.

The object of research is the process of initial processing of source code static analysis results. The subject of research is methods for automating the initial processing of static analysis results using LLM-agents. The goal of the work is to develop an LLM-agent that performs automated classification of static analyzer warnings and produces natural-language justifications for its verdicts. In the course of the work, the principles of operation of existing source code static analysis tools were investigated; modern methods of applying artificial intelligence, machine learning, and natural language processing to software source code analysis were analyzed; functional and non-functional requirements for the LLM-agent were formulated. Based on the requirements, a multi-agent architecture was designed, consisting of the Coordinator, which forms the analysis plan and issues the verdict; the Critic, which verifies the Coordinators decision; and sub-agents, which examine the codebase in isolated context windows. As a result of the work, a software prototype "ReChecker" was implemented in Python using the LangGraph library. The prototype source code has been published as open source. The effectiveness of the prototype was confirmed by experimental evaluation on a dataset of 506 labeled Clang Static Analyzer warnings from three large open-source projects - the Apache web server, the FreeBSD operating system kernel, and the PHP language interpreter. The application area of the results is the automation of secure software development processes, primarily for high-responsibility systems: information security tools, significant objects of critical information infrastructure, and embedded software.

Network User group Action
ILC SPbPU Local Network All
Read
Internet Authorized users SPbPU
Read
Internet Anonymous
...