QUALITY ASSESSMENT SYSTEM FOR OBJECT-ORIENTED PROGRAM CODE BASED ON STATIC ANALYSIS AND METRICS VISUALIZATION
DOI:
https://doi.org/10.32782/mathematical-modelling/2025-8-2-16Keywords:
software code quality, static analysis, metrics visualization, object-oriented programmingAbstract
The article is devoted to the development of a system for static analysis of program code that integrates analysis, visualization, and interpretation of software quality metrics. The relevance of the research is determined by the insuffi- cient efficiency of existing tools in providing a comprehensive code assessment and identifying problematic areas at the early stages of development. Most available solutions do not offer interactive visualization of results, which complicates quality control and the maintenance of architectural decisions. The aim of the research is to develop a system named Code Analyzer, which performs static code analysis, provides interactive visualization, and assists in understanding code quality metrics. This system facilitates the timely detection of issues and supports software architects in decision-making. The current version supports the Python language and processes various groups of metrics: general metrics, Halstead metrics, complexity and maintainability metrics, as well as object-oriented and architectural metrics. Code Analyzer uses the Radon library for basic metrics, Abstract Syntax Tree (AST) analysis for deeper inspec- tion, and custom algorithms for calculating specific metrics such as RFC, LCOM, Ca, and Ce. The system allows users to upload code in .py or .zip formats and obtain visualized metric results in the form of graphs, tables, and ratings. The program can also export reports in CSV and Excel formats for further analysis. One of the key components of the system is the interactive visualization of results, which enables convenient analysis of code complexity and identification of potentially problematic areas. Visualization provides not only quantitative metrics but also interprets their meaning to improve the processes of refactoring and decision-making. The interface allows data sorting and filtering, ensuring efficient management of large-scale projects. In addition, the system provides interpretation of results using radar charts and offers specific recommendations for improving code quality. Code Analyzer implements a comprehensive approach to static analysis and software quality metrics visualization, which helps reduce error risks, optimize code development and maintenance processes, and increase the efficiency of teamwork within large projects.
References
Ardito L., Coppola R., Barbato L. Verga D. A Tool-Based Perspective on Software Code Maintainability Metrics: A Systematic Literature Review. Scientific Programming. 2020. № 2020(1). P. 1–26. DOI: https://doi.org/10.1155/2020/8840389
Rashid J., Mahmood T., Nisar M.W. A Study on Software Metrics and its Impact on Software Quality. Technical Journal, University of Engineering and Technology (UET) Taxila, Pakistan. 2019. № 24(1). P. 1–14. DOI: https://doi.org/10.48550/arXiv.1905.12922
Kafura D. Reflections on McCabe’s Cyclomatic Complexity. IEEE Transactions on Software Engineering. 2025. № 51(3). P. 700–705. DOI: https://doi.org/10.1109/TSE.2025.3534580
Heričko T., Šumak B. Exploring Maintainability Index Variants for Software Maintainability Measurement in Object-Oriented Systems. Applied Sciences. 2023. № 13(5). P. 2972. DOI: https://doi.org/10.3390/app13052972
Filó T.G.S., Bigonha M.A.S., Ferreira K.A.M. Evaluating Thresholds for Object-Oriented Software Metrics. Journal of the Brazilian Computer Society. 2024. № 30(1). P. 313–346. DOI: https://doi.org/10.5753/jbcs.2024.3373
Santos D., Resende A., de Castro Lima, E., Freire A. Software Instability Analysis Based on Afferent and Efferent Coupling Measures. Journal of Software. 2017. № 12(1). P. 19–34. DOI: https://doi.org/10.17706/jsw.12.1.19-34
Radon Project. Radon: Code metrics in Python. PyPI. URL: https://pypi.org/project/radon/ (дата звернення: 15.09.2025).
Python Software Foundation. AST – Abstract Syntax Trees. In Python documentation (version 3). URL: https://docs.python.org/3/library/ast.html (дата звернення: 15.09.2025).







