DOI: 10.17587/prin.17.295-306
Evaluation of the Complexity of Software Architecture Components based on Graph Analysis
K. R. Ivashnev, Postgraduate Student, Researcher, ivashnev@cs.petrsu.ru,
D. G. Korzun, Cand. Sc. (Phys.&Math.), Associate Professor, dkorzun@cs.karelia.ru,
Petrozavodsk State University, Petrozavodsk, 185910, Russian Federation
Corresponding author: Dmitry G. Korzun, Cand. Sc. (Phys.&Math.), Associate Professor, Petrozavodsk State University, Petrozavodsk, 185910, Russian Federation E-mail: dkorzun@cs.karelia.ru
Received on October 24, 2025
Accepted on December 17, 2025
The article examines the application of a cyberimmune approach to the development of Secure By Design systems. The cyberimmune development methodology involves evaluating the complexity of software components in order to form the minimum allowed set of trusted components. Existing approaches to assessing the complexity of software systems are based on implementation details and object-oriented characteristics, which makes it difficult to use them in the early stages of design. In this paper, we propose a method for evaluating the complexity of software components based on a high-level system architecture. A demonstration and evaluation of the method's effectiveness is presented based on an analysis of a real-world system that monitors news articles related to a specific geographical area. The presented assessment allows us to conclude that the proposed method has sufficient predictive power for predicting the distribution of components into complexity classes and forming a minimum set of trusted components, even without knowledge of software implementation details in the early stages of the design process.
Keywords: graph models, cybersecurity, cyberimmunity, cluster analysis, Secure By Design, system engineering
pp. 295—306
For citation:
Ivashnev K. R., Korzun D. G. Evaluation of the Complexity of Software Architecture Components based on Graph Analysis, Programmnaya Ingeneria, 2026, vol. 17, no. 6, pp. 295—306. DOI: 10.17587/prin.17.295-306 (in Russian).
References:
- Nazarov S. V., Barsukov A. G. Reliability and security of operating systems of various architectures. Part 2, Elektronika: nauka, tehnologia, biznes, 2023, no. 9, pp. 144—150. DOI: 10.22184/19924178.2023.230.9.144.150 (in Russian).
- Sobolev S. P. Cyber immune development approach. Micro-services based illustration, Vestnik Sankt-Peterburgskogo Universiteta. Seriya 10. Prikladnaya Matematika. Informatika. Protsessy Upravleniya, 2024, vol. 20, no. 1, pp. 52—61. DOI: 10.21638/11701/spbu10.2024.105 (in Russian).
- Ajienka N., Vangorp P., Capiluppi. A. An empirical analysis of source code metrics and smart contract resource consumption, Journal of Software: Evolution and Process, 2020, vol. 32, no. 10, pp. 1—22. DOI: 10.1002/smr.2267.
- Gupta M., Rajnish K., Bhattarcharjee V. Predicting Software Cost Through Entity—Relationship Diagrams: An Empirical View, Nanoelectronics, Circuits, and Communication Systems: Proceeding of NCCS 2019, 2020, pp. 561—567. DOI 10.1007/978-981-15-7486-3_51.
- McManus J. Security by design: teaching secure software design and development techniques, Journal of Computing Sciences in Colleges, 2018, vol. 33, no. 3, pp. 75—82. DOI: 10.5555/3144687.3144710.
- Zhou Y., Yang Y., Baowen X. et al. Source code size estimation approaches for object-oriented systems from UML class diagrams: A comparative study, Information and Software Technology, 2014, vol. 56, no. 2, pp. 220—237. DOI: 10.1016/j.infsof.2013.09.003.
- Ouellet A., Badri M. Combining object-oriented metrics and centrality measures to predict faults in object-oriented software: An empirical validation, Journal of Software: Evolution and Process, 2024, vol. 36, no. 4, article 2548. DOI: 10.1002/smr.2548.
- Mazur Z., Pec J. A Method for Information Security Analysis Using Information Graphs, Cybernetics and Systems, 2024, vol. 55, no. 3, pp. 678—692. DOI: 10.1080/01969722.2022.2162739.
- Nguyen A. T., Hertzberg A., Teixeira A. M. Centrality-Based Security Allocation in Networked Control Systems, Critical Information Infrastructures Security: 19th International Conference, CRITIS 2024, Rome, Italy, Springer, 2024, pp. 212—230. DOI: 10.1007/978-3-031-84260-3_13.
- Ivashnev K. R., Korzun D. G. Text classification of news articles based on keyword sets, Tsifrovye tekhnologii v obrazovanii, nauke, obshchestve: Mater. XVII Vseros. nauch.-prakt. konf., Petrozavodsk, 22—24 November 2023, Izd-vo PetrGU, 2023, pp. 45—48 (in Russian).
- Ivashnev K., Korzun D. Modelling a CyberImmune Architecture: The Case of Open-Source Intelligence Systems, 38th Conference of Open Innovations Association (FRUCT), Helsinki, Finland, IEEE, 2025, pp. 112—120. DOI: 10.23919/FRUCT67853.2025.11239277.
- Bakhtin A., Esposito M., Lenarduzzi V., Taibi D. Network Centrality as a New Perspective on Microservice Architecture, 2025 IEEE 22nd International Conference on Software Architecture (ICSA), Odense, Denmark, IEEE, 2025, pp. 72—83. DOI: 10.1109/ICSA65012.2025.00017.
- Li F., Yi T. Apply PageRank Algorithm to Measuring Relationship's Complexity, 2008 IEEE Pacific-Asia Workshop on Computational Intelligence and Industrial Application, Wuhan, China, IEEE, 2008, pp. 914—917. DOI: 10.1109/PACIIA.2008.309.
- Oggier F., Phetsouvanh S., Datta A. A Modular Framework for Centrality and Clustering in Complex Networks, IEEE Access, 2022, vol. 10, pp. 40001—40026. DOI: 10.1109/ACCESS.2022.3167060.
- Abiodun M., Absalom E., Laith A. et al. K-means clustering algorithms: A comprehensive review, variants analysis, and advances in the era of big data, Information Sciences, 2023, vol. 622, pp. 178—210. DOI: 10.1016/j.ins.2022.11.139.
- Bouguettaya A., Yu Q., Liu X. et al. Efficient agglomerative hierarchical clustering, Expert Systems with Applications, 2015, vol. 42, no. 5, pp. 2785—2797. DOI: 10.1016/j.eswa.2014.09.054.
- Bhattacharjee P., Mitra P. A survey of density-based clustering algorithms, Frontiers of Computer Science, 2020, vol. 15, article 151308. DOI: 10.1007/s11704-019-9059-3.
- Kaufman L., Rousseeuw P. Finding Groups In Data: An Introduction To Cluster Analysi, New York, Wiley, 1990, 342 p.
- Calinski R., Harabasz J. A dendrite method for cluster analysis, Comm. in Statistics, 1974, vol. 3, no. 1, pp. 1—27. DOI: 10.1080/03610927408827101.
- Davies D., Bouldin D. A cluster separation measure, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1979, vol. PAMI-1, no. 2, pp. 224—227. DOI: 10.1109/TPAMI.1979.4766909.
- Ekemeyong A., Zielinska T. Comparative analysis of the clustering quality in self-organizing maps for human posture classification, Sensors, 2023, vol. 23, no. 18, article 7925. DOI: 10.3390/s23187925.
- Nunez-Varela A., Perez-Gonzalez H., Martinez-Perez F., Soubervielle-Montalvo C. Source code metrics: A systematic mapping study, Journal of Systems and Software, 2017, vol. 128, pp. 164—197. DOI: 10.1016/j.jss.2017.03.044.
- Abdulkareem S., Abboud A. Evaluating Python, C++, JavaScript and Java Programming Languages Based on Software Complexity Calculator (Halstead Metrics), IOP conference series: Materials science and engineering, 2021, vol. 1076, no. 1, pp. 1—10. DOI: 10.1088/1757-899X/1076/1/012046.