Метод генерації опису програмного коду з використанням моделі штучного інтелекту

Вантажиться...
Ескіз

Дата

2025

Назва журналу

Номер ISSN

Назва тому

Видавець

КПІ ім. Ігоря Сікорського

Анотація

Актуальність теми: Тема є актуальною, оскільки у даний час існує багато великих проектів, які розробляються протягом тривалого періоду часу та потребують підтримки та розуміння коду без пояснень. Швидкий розвиток технологій та необхідність постійної розробки нових функцій і підтримки вже існуючих потребує постійного оновлення документації. Написання хорошої документації є цінною навичкою, що потребує досвіду, концентрації та розуміння структури проекту. Як наслідок, велика кількість розробників вважають процес написання документації важким і думають, що час, витрачений на це, можна було б використати більш продуктивно. Саме тому є попит на сервіси, які допомогають автоматизувати цей процес. Об’єкт дослідження: Об'єктом дослідження є процес генерації опису коду. Предмет дослідження: Предметом дослідження є попередньо навчені моделі штучного інтелекту з донавчанням на специфічних наборах даних для виконання задач програмування та документування. Мета роботи: Метою даної роботи є підвищення ефективності автоматизованої генерації програмної документації. У рамках виконання даного завдання було опрацьовано необхідний теоретичний матеріал, вивчено уже існуючі рішення даної проблеми та розроблено і реалізовано власний новий спосіб генерування опису програмного коду, який більш точно визначав призначення фрагментів коду, чітко розумів структуру та залежності між його складовими. Методи дослідження: Дослідження базується на аналізі літератури, статистичних методах, а також методах машинного навчання та інтелектуального аналізу даних. Зокрема було використано методи синтаксичного аналізу коду та побудови абстрактного синтаксичного дерева (AST), метод формування навчального корпусу, методи навчання та донавчання трансформерних та графових моделей. Для оцінки переваг донавченої моделі було застосовано метод порівняльного моделювання та автоматизованої оцінки якості тексту (у даному випадку BERTScore). Наукова новизна: У рамках дослідження було: 1. Розроблено більш точний метод генерації опису програмного коду. 2. Донавчено мовну модель типу Т5 на наборах коду, зібраного з сервісу GitHub, для виконання нею специфічних задач, пов’язаних з описом коду. 3. Протестовано та проаналізовано результати роботи моделі порівняно їх з результатами, отриманими від уже існуючого аналогу. Як наслідок, донавчена модель показує кращі результати та генерує більш точні коментарі, ніж базова T5. 4. Створено та навчено на власному наборі даних модель типу GNN, для побудови графів залежності частин програми та їхньої подальшої візуалізації. Врахування структури проекту та побудова AST коду дає порівняно кращий результат під час коментування коду. 5. Жоден з розглянутих аналогів не використовує одночасно моделі T5 та GNN і генератор синтаксичних аналізаторів ANTLR для покращення якості документації, також таких підхід не згадується в опрацьованих дослідженнях. Тому сама структура запропонованої системи є унікальною. Практична цінність: Результати роботи можуть бути використані для створення документації для програмного забезпечення, створеного за допомогою мови Python, яка на даний момент є широко використовуваною в майже усіх сферах інформаційних технологій. Можливе донавчання моделі для роботи з іншими високорівневими мовами програмування. Апробація роботи. Основні положення і результати роботи були представлені та обговорювались на XVIII науковій конференції магістрантів та аспірантів «Прикладна математика та комп’ютинг» ПМК-2025 та на ІІ Міжнародній підсумковій науково-практичній онлайн-конференції ІІ Міжнародного конкурсу студентських наукових робіт з англійської мови “Advances in Science and Technology”. Структура та обсяг роботи: робота складається з реферату, змісту, вступу, чотирьох розділів та висновку. У вступі подано загальну характеристику роботи, зроблено оцінку сучасного стану проблеми, обґрунтовано актуальність напрямку досліджень, сформульовано мету і задачі досліджень. У першому розділі розглянуто існуючі аналоги, який дає змогу визначити основні переваги та недоліки цих рішень, а також оглянуто дослідження за темою роботи. У другому розділі наведено перелік існуючих інструментів, які доступні для реалізації дослідження, їхній огляд. На основі даних у першому та другому розділах запропоновано власний підхід, викладений у висновках до розділу. У третьому розділі наведено особливості запропонованого методу та його реалізації, зокрема деталі процесу навчання моделей штучного інтелекту та роль ембедингів у проекті. У четвертому розділі наведено дані про структуру розробленої системи, результати дослідження, тестові приклади та порівняння власних результатів з аналогами. У висновках представлені результати проведеної роботи, огляд виконаних задач та перспектив для подальшого розвитку.

Опис

Ключові слова

машинне навчання, Т5, GNN, генератор опису коду, навчання моделі, обробка природної мови, документація, AST, machine learning, T5, code description generator, model training, natural language processing, documentation

Бібліографічний опис

Костюченко, А. В. Метод генерації опису програмного коду з використанням моделі штучного інтелекту : магістерська дис.: 123 Комп'ютерна інженерія / Костюченко Альбіна Валентинівна. – Київ, 2025. – 91 с.

ORCID

DOI