Technology for assessing the quality of program systems components based on code complexity metrics

Authors

DOI:

https://doi.org/10.18372/2073-4751.85.21099

Keywords:

software quality, internal quality, SQuaRE, ISO/IEC 25010, maintainability, Halstead metrics, McCabe cyclomatic complexity, static code analysis

Abstract

The article investigates methods and tools for assessing the internal quality of software using code complexity metrics according to M. Halstead and T. McCabe. A general analysis of the maintainability quality characteristic and its subcharacteristics from the SQuaRE ISO/IEC 25010 standard is performed, which can be effectively used to assess the maintainability of program systems. The main attention is paid to the Halstead and McCabe metrics, since they allow quantitatively assessing the structural complexity of the code of software components. It is shown that these metrics are useful and effective for determining the quality measures of analyzability, modifiability and testability of software modules. An approach to interpreting the results of static code analysis based on the SQuaRE quality model is proposed. The practical part is illustrated by an example of Python code.

References

ISO/IEC 25010:2023. Systems and software engineering — Systems and software quality models. Geneva : International Organization for Standardization, 2023. 45 p.

ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. Geneva : International Organization for Standardization, 2011. 34 p.

ISO/IEC 25023:2016. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Measurement of system and software product quality. Geneva : International Organization for Standardization, 2016. 52 p.

Maintainability [Електронний ресурс] / ISO 25000. URL: https://iso25000.com/index.php/en/iso-25000-standards/iso-25010/57-maintainability (дата звернення: 11.03.2026).

Halstead Metrics [Електронний ресурс] / Verifysoft Technology. URL: https://www.verifysoft.com/en_halstead_metrics.html (дата звернення: 11.03.2026).

What is Cyclomatic Complexity [Електронний ресурс] / Qt Quality Assurance Blog. 2018. URL: https://www.qt.io/quality-assurance/blog/what-is-cyclomatic-complexity (дата звернення: 11.03.2026).

Halstead [Електронний ресурс] / Objectscript Quality Documentation. URL: https://objectscriptquality.com/docs/metrics/halstead (дата звернення: 11.03.2026).

McCabe Cyclomatic Complexity [Електронний ресурс] / Klocwork Documentation. 2025. URL: https://help.klocwork.com/current/en-us/concepts/mccabecyclomaticcomplexity.htm (дата звернення: 11.03.2026).

Pembangunan Kakas Bantu Untuk Mengukur Maintainability Index Pada Perangkat Lunak Berdasarkan Nilai Halstead Metrics Dan McCabe's Cyclomatic Complexity [Електронний ресурс] / Repository UB. 2019.

ISO/IEC 25010 [Електронний ресурс] / ISO 25000. URL: https://iso25000.com/index.php/en/iso-25000-standards/iso-25010 (дата звернення: 11.03.2026).

Code Complexity Metrics: Writing Clean, Maintainable Software [Електронний ресурс] / Iterators HQ. 2025. URL: https://www.iteratorshq.com/blog/code-complexity-metrics-writing-clean-maintainable-software/ (дата звернення: 11.03.2026).

ISO 25010 Standard [Електронний ресурс] / Grounded Architecture. 2021. URL: https://grounded-architecture.io/iso25010 (дата звернення: 11.03.2026).

Achieving Maintainability with ISO/IEC 25010:2023 [Електронний ресурс] / QMII. 2022. URL: https://www.qmii.com/achieving-maintainability-with-iso-iec-250102023/ (дата звернення: 11.03.2026).

Simulink Halstead Complexity [Електронний ресурс] / MathWorks Documentation. 2024. URL: https://www.mathworks.com/help/slcheck/ref/simulink-operators-and-operands.html (дата звернення: 11.03.2026).

ISO/IEC 25010 – Systems and Software Quality [Електронний ресурс] / Quality Arc42. 2026. URL: https://quality.arc42.org/standards/iso-25010 (дата звернення: 11.03.2026).

Published

2026-04-28

How to Cite

Raichev, I., & Khrustovskyi, A. (2026). Technology for assessing the quality of program systems components based on code complexity metrics. Problems of Informatization and Control, 1(85). https://doi.org/10.18372/2073-4751.85.21099

Issue

Section

Статті