Registration Number
0826U005230, PhD dissertation
Status
Доктор філософії
Date
12-09-2026
popup.evolution
o
Чому дисертація має статус "Запланована"?
Title
Automated Analysis and Augmented Reality Visualization of Software Module Architecture for Anti-Pattern Detection
Author
Oleksandr Frankiv,
popup.head Mykola Hlybovets
popup.opponent Grygoriy Zholtkevych
popup.opponent Sergiy Pogorilyy
popup.review Nataliya Gulayeva
popup.review Oleksiy Oletsky
popup.rada
National University of Kyiv-Mohyla Academy
Description
Франків О. О. Автоматизований аналіз та візуалізація в доповненій реальності архітектури програмних модулів для виявлення антипатернів. – Кваліфікаційна наукова праця на правах рукопису.
Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 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).
Ключові слова: архітектура програмного забезпечення, програмне забезпечення, граф залежностей, статичний аналіз, виявлення антипатернів, графова нейронна мережа, доповнена реальність, автоматизована візуалізація архітектури, нейронні мережі, штучний інтелект, обчислювальна складність, діаметр графа, абстрактне синтаксичне дерево, когнітивне навантаження, силовий алгоритм розміщення.
Registration Date
2026-09-15
popup.nrat_date
2026-09-15 / 2026-09-15