Рефакторинг исходного кода на основе LLM и расширения UML


Рефакторинг исходного кода на основе LLM и расширения UML

Караваева Е.А. (НИУ ВШЭ, Москва, Россия)
Кулигин Л.А. (НИУ ВШЭ, Москва, Россия)
Резуник Л.А. (НИУ ВШЭ, Москва, Россия)
Александров Д.В. (НИУ ВШЭ, Москва, Россия)

Аннотация

В статье представлен метод рефакторинга исходного кода на основе интеграции большой языковой модели (LLM) и расширенной UML-модели программного кода. Предложенный подход позволяет выявлять проблемные участки кода с использованием функций тревожности и структурных метрик классов, а затем выполнять автоматизированный рефакторинг. Ключевой особенностью метода является использование LLM для генерации формальных спецификаций на языке OCL (Object Constraint Language), которые затем используются для автоматической верификации корректности преобразований через проверку инвариантов, пред- и постусловий. Расширение UML включает локальные переменные, действия методов и связи между ними, что обеспечивает низкоуровневый анализ и корректное преобразование кода. Экспериментальная проверка показала, что метод LLM + UML* обеспечивает высокую точность обнаружения дефектов, полное устранение функций тревожности, сохранение функциональности системы.

Ключевые слова

рефакторинг исходного кода; язык моделирования UML; расширение модели; большая языковая модель; функции тревожности; автоматизация анализа кода; объектный язык ограничений OCL.

Издание

Труды Института системного программирования РАН, том 38, вып. 3, часть 2, 2026, стр. 67-94.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(3)-22

Для цитирования

Караваева Е.А., Кулигин Л.А., Резуник Л.А., Александров Д.В. Рефакторинг исходного кода на основе LLM и расширения UML. Труды Института системного программирования РАН, том 38, вып. 3, часть 2, 2026, стр. 67-94. DOI: 10.15514/ISPRAS-2026-38(3)-22.

Полный текст статьи в формате pdf Вернуться к содержанию тома