"Записки научных семинаров ПОМИ"
Том 552, стр. 63-86
Query2Diagram: ответы на запросы по коду с помощью UML-диаграмм
О. Барышников, А. М. Алексеев, С. И. Николенко
HSE University,
194100, 3k1 Kantemirovskaya Str., St. Petersburg, Russia
baryshnikovod@gmail.com
St. Petersburg Department
of Steklov Mathematics Institute,
Fontanka 27 , St.Petersburg 191023, Russia;
Markov Laboratory for ArtISP RAS Research Center
for Trusted Artificial Intelligence,
Moscow, Russia ificial Intelligence,
St. Petersburg University,
Universitetskaya Emb. 7-9,
St Petersburg 199034, Russia
sergey@logic.pdmi.ras.ru
St. Petersburg Department
of Steklov Mathematics Institute,
Fontanka 27 , St.Petersburg 191023, Russia;
Markov Laboratory\\ for Artificial Intelligence,
St. Petersburg University,
Universitetskaya Emb. 7-9,
St Petersburg 199034, Russia
anton.m.alexeyev@gmail.com
- Аннотация:
Документация по программному обеспечению часто устаревает
или вовсе отсутствует. Вместе с тем, разработчикам для
понимания сложных программных систем регулярно требуются
структурированные представления их составляющих.
Существуют инструменты обратного проектирования, способные
порождать UML-диаграммы на основе кода. Однако, как правило,
они выдают чрезмерно подробные схемы и никак не учитывают текущей
информационной потребности разработчика, то есть
``какой аспект кода следует проиллюстрировать''.
Мы предлагаем метод \emph{генерации UML-диаграмм на основе запросов},
при котором с помощью больших языковых моделей создаются диаграммы,
напрямую отвечающие на вопросы о коде, сформулированные на
естественном языке. В отличие от существующих методов,
наш подход позволяет создавать семантически ориентированные диаграммы,
содержащие только релевантные элементы, дополненные
контекстными описаниями. Мы донастраиваем (дообучаем) модель
Qwen2.5-Coder-14B используя для этого тщательно отобранный
набор данных, включающий файлы с кодом, запросы разработчиков
и соответствующие ответы --- представления в виде диаграмм
в формате JSON. Мы оцениваем качество работы модели как с
помощью автоматического выявления структурных дефектов, так и с
помощью оценки семантической релевантности, вручную выполненной
экспертами. Результаты показывают, что дообучение на небольшом
количестве данных, исправленных вручную, даёт значительный эффект:
наша лучшая модель демонстрирует самые высокие показатели F1-меры,
при этом количество структурных дефектов в её ответах ниже, чем в
ответах современных больших языковых моделей. Сгенерированные
диаграммы структурно корректны и релевантны запросам разработчиков
с точки зрения семантики. Таким образом, мы демонстрируем возможность
использования больших языковых моделей для масштабируемой контекстной
генерации документации по запросу. Программный код и набор данных
доступны по ссылке https://github.com/i-need-a-pencil/query2diagram.
Библ. --- 47 назв.
- Ключевые слова: большие языковые модели,
ответы на вопросы по коду, UML, поддержка документации
[Large Language Models, Code QA, UML, Documentation Maintenance]
Полный текст(.pdf)