Применимость подхода «SOFA/SODA» для обнаружения проблем проектирования многомодульных решений на основе подключаемого предподготовленного анализатора исходного кода
Применимость подхода «SOFA/SODA» для обнаружения проблем проектирования многомодульных решений на основе подключаемого предподготовленного анализатора исходного кода
Аннотация
В работе исследуется применимость формализма SOFA/SODA, изначально предложенного для обнаружения проблем проектирования в сервис-ориентированных системах, к задаче структурного анализа многомодульных программных проектов. Обнаружение проблем проектирования формулируется как вычисление декларативных правил над статическим графом компонентных зависимостей; предложена подключаемая архитектура, в которой любой проект, способный предоставить свой граф компонентов через небольшой интерфейс-адаптер, становится допустимым входом для анализатора. Слой SOFA реализован как фиксированный набор графовых метрик, а слой SODA – как набор декларативных карточек правил. Прототип консольной утилиты реализован на языке Go с внешними компонентами расширения правил; два адаптера покрывают инфраструктуру инструментов SwiftPM и Gradle. Оценка на двух эталонных проектах с размеченными нарушениями даёт F1=1.00 на Swift-проекте (13 нарушений, без ложных срабатываний), ноль ложных срабатываний на контрольном Kotlin-проекте и 80% правил, переиспользуемых между двумя инфраструктурами инструментов. Полученные результаты показывают, что SOFA/SODA можно переносить из сервис-ориентированных систем на структурный анализ многомодульных проектов в целом при условии наличия подходящего адаптера проекта.
Ключевые слова
Издание
Труды Института системного программирования РАН, том 38, вып. 5, 2026, стр. 119-132.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2026-38(5)-8
Для цитирования
Полный текст статьи в формате pdf (на английском)
Вернуться к содержанию тома