Preview

Труды Института системного программирования РАН

Расширенный поиск

Применимость подхода «SOFA/SODA» для обнаружения проблем проектирования многомодульных решений на основе подключаемого предподготовленного анализатора исходного кода

https://doi.org/10.15514/ISPRAS-2026-38(5)-8

Аннотация

В работе исследуется применимость формализма SOFA/SODA, изначально предложенного для обнаружения проблем проектирования в сервис-ориентированных системах, к задаче структурного анализа многомодульных программных проектов. Обнаружение проблем проектирования формулируется как вычисление декларативных правил над статическим графом компонентных зависимостей; предложена подключаемая архитектура, в которой любой проект, способный предоставить свой граф компонентов через небольшой интерфейс-адаптер, становится допустимым входом для анализатора. Слой SOFA реализован как фиксированный набор графовых метрик, а слой SODA – как набор декларативных карточек правил. Прототип консольной утилиты реализован на языке Go с внешними компонентами расширения правил; два адаптера покрывают инфраструктуру инструментов SwiftPM и Gradle. Оценка на двух эталонных проектах с размеченными нарушениями даёт F1=1.00 на Swift-проекте (13 нарушений, без ложных срабатываний), ноль ложных срабатываний на контрольном Kotlin-проекте и 80% правил, переиспользуемых между двумя инфраструктурами инструментов. Полученные результаты показывают, что SOFA/SODA можно переносить из сервис-ориентированных систем на структурный анализ многомодульных проектов в целом при условии наличия подходящего адаптера проекта.

Об авторах

Антон Сергеевич ТИМОНИН
Национальный исследовательский университет «Высшая школа экономики»
Россия

Выпускник факультета компьютерных наук НИУ ВШЭ. Сфера научных интересов: разработка и профилирование инструментов построения программного обеспечения.



Сергей Андреевич ШЕРШАКОВ
Национальный исследовательский университет «Высшая школа экономики»
Россия

Кандидат компьютерных наук, доцент, академический руководитель магистерской программы «Системная и программная инженерия» факультета компьютерных наук НИУ ВШЭ. Сфера научных интересов: извлечение и анализ процессов, встраиваемые системы, объектно-ориентированное программирование, Software Process Mining, сервис-ориентированная архитектура (СОА).



Список литературы

1. Moha N. et al., “Specification and detection of SOA antipatterns,” in Proc. ICSOC, 2012.

2. Palma F., Moha N., Tremblay G., Guéhéneuc Y.-G. Specification and detection of SOA antipatterns in web services. In Proc. ECSA, 2014.

3. Fowler M., Domain-Specific Languages. Addison-Wesley, 2010.

4. Tarjan R. E. Depth-first search and linear graph algorithms. SIAM J. Comput., vol. 1, no. 2, 1972.

5. Kahn A. B. Topological sorting of large networks. Commun. ACM, vol. 5, no. 11, 1962.

6. Swift Package Manager. Organize, manage and edit Swift packages. Available at: https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/, accessed 20.07.2006.

7. Gradle User Guide. The Java Library Plugin. Available at: https://docs.gradle.org/current/userguide/java_library_plugin.html, accessed 20.07.2006.

8. Bumble Engineering: Scaling modular architecture. Available at: https://medium.com/bumble-tech, accessed 20.07.2006.

9. Gradle User Guide. Initialization Scripts and Init Plugins. Available at: https://docs.gradle.org/current/userguide/init_scripts.html, accessed 20.07.2006.

10. ArchUnit. Unit Test Your Java Architecture. Available at: https://www.archunit.org/, accessed 20.07.2006.

11. Dependency Cruiser. Available at: https://github.com/sverweij/dependency-cruiser, accessed 20.07.2006.

12. SwiftLint. Available at: https://github.com/realm/SwiftLint, accessed 20.07.2006.

13. Detekt. A static code analysis for Kotlin. Available: https://detekt.dev/, accessed 20.07.2006.


Рецензия

Для цитирования:


ТИМОНИН А.С., ШЕРШАКОВ С.А. Применимость подхода «SOFA/SODA» для обнаружения проблем проектирования многомодульных решений на основе подключаемого предподготовленного анализатора исходного кода. Труды Института системного программирования РАН. 2026;38(5):119-132. https://doi.org/10.15514/ISPRAS-2026-38(5)-8

For citation:


TIMONIN A.S., SHERSHAKOV S.A. On the Applicability of SOFA/SODA Antipattern Detection Approach to Multi-Module Solutions via a Pluggable Pre-Build Linter. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2026;38(5):119-132. https://doi.org/10.15514/ISPRAS-2026-38(5)-8



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)