Реєстраційний номер
0826U005230, Дисертація доктора філософії
На здобуття
Доктор філософії
Дата захисту
12-09-2026
Статус
Запланована
Чому дисертація має статус "Запланована"?
Назва роботи
Автоматизований аналіз та візуалізація в доповненій реальності архітектури програмних модулів для виявлення антипатернів
Здобувач
Франків Олександр Олександрович,
Керівник Глибовець Микола Миколайович
Опонент Жолткевич Григорій Миколайович
Опонент Погорілий Сергій Дем’янович
Рецензент Гулаєва Наталія Михайлівна
Рецензент Олецький Олексій Віталійович
Установа, організація, у вченій раді якої відбудеться/відбувся захист
Національний університет "Києво-Могилянська академія"
Опис
Франків О. О. Автоматизований аналіз та візуалізація в доповненій реальності архітектури програмних модулів для виявлення антипатернів. – Кваліфікаційна наукова праця на правах рукопису.
Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 122 «Комп’ютерні науки» (12 — Інформаційні технології). — Національний університет «Києво-Могилянська академія», Київ, 2026.
Дисертаційна робота присвячена розв’язанню актуальної науково-прикладної задачі аналізу архітектури програмного забезпечення на основі автоматизованої побудови графової моделі програмного модуля та її подальшої візуалізації. Метою роботи є розроблення підходу, який дозволяє формалізувати структуру програмної системи, аналізувати її архітектуру та виявляти потенційні проблеми проєктування виключно на основі вихідного коду без використання додаткової документації, UML-діаграм або ручного опису архітектури.
Показано, що більшість наявних засобів автоматизованого аналізу коду зосереджені на виявленні локальних синтаксичних або семантичних помилок, тоді як аналіз загальної структури системи та взаємодії її компонентів потребує значних ручних зусиль, а результати аналізу подаються у формі, малопридатній для цілісного сприйняття людиною. Традиційні метрики зв’язності, згуртованості та складності не забезпечують достатньої наочності для аналізу складних архітектурних взаємозв’язків.
Запропоновано модель архітектури програмного забезпечення у вигляді орієнтованого зваженого графа, вершини якого відповідають типам даних, полям і методам, а ребра — декларативним (належність, наслідування) та поведінковим (виклики методів, використання типів, доступ до полів) залежностям. Ваги ребер відображають інтенсивність взаємодій між компонентами. Модель дозволяє перейти від текстового представлення коду до формалізованої структури, придатної для алгоритмічної обробки, аналізу та візуалізації, і є універсальною для адаптації до різних мов програмування. Описано метод автоматизованої побудови моделі для мови Swift на основі графа символів SymbolKit.
Розроблено методи автоматизованого виявлення архітектурних аномалій, пов’язаних із порушенням зв’язності, згуртованості та наявністю циклічних залежностей, на основі статистичного аналізу характеристик графа. Детектор визначає відхилення відносно типових значень конкретної системи, що забезпечує адаптивність без жорстко заданих порогів. Підхід апробовано на реальному Swift-застосунку з підтвердженням виявлених аномалій аналізом вихідного коду.
Для візуалізації графової моделі використано силовий алгоритм розміщення, що зменшує когнітивне навантаження під час аналізу складних залежностей. Запропоновано застосування графових нейронних мереж як евристики для формування початкового розміщення вершин, що підвищує швидкодію побудови візуалізації без погіршення її читабельності. На вибірці з 44 Swift-проєктів підтверджено повну стабілізацію результатів та скорочення часу побудови layout до 58 % для графів середнього розміру.
Практичним результатом роботи є програмний комплекс A.D.A.R. (Architecture Displayer in Augmented Reality), реалізований як набір модулів Swift Package Manager із рівнем покриття тестами 95 %, інтегрований в інструментарій розробника через SPM-плагіни та доповнений застосунком-переглядачем з підтримкою багатокористувацьких AR-сесій. Використання просторової візуалізації та доповненої реальності спрощує сприйняття складних залежностей між компонентами на інтуїтивному рівні. Результати можуть застосовуватися для аналізу якості програмного забезпечення, рефакторингу, супроводу програмних систем та у навчальному процесі.
Дослідження проводилося в рамках наукових тем кафедри інформатики НаУКМА «Моделі та методи машинного навчання в прикладних задачах» (№ держреєстрації 0123U102430) та «Аналіз великих об’ємів даних в реальному режимі часу» (№ держреєстрації 0118U000647).
Ключові слова: архітектура програмного забезпечення, програмне забезпечення, граф залежностей, статичний аналіз, виявлення антипатернів, графова нейронна мережа, доповнена реальність, автоматизована візуалізація архітектури, нейронні мережі, штучний інтелект, обчислювальна складність, діаметр графа, абстрактне синтаксичне дерево, когнітивне навантаження, силовий алгоритм розміщення.
Дата реєстрації
2026-09-15
Додано/оновлено в НРАТ
2026-09-15 / 2026-09-15