Program Realization for Code Metrics Calculation in Object-Oriented Programming Language

Authors

DOI:

https://doi.org/10.17072/1993-0550-2023-3-76-84

Keywords:

metrics, object-oriented programming language, static code analysis, software product evaluation

Abstract

All groups of software product lifecycle processes executed by developers are complicated to implement. The code generation possibility and a requirement of evaluation for each participant contribution in case of teamwork also should be considered. A quantitative estimation for various aspects of software is proposed by code metrics calculation. The work purpose is development of a program for calculating the metrics of a software product for various object-oriented programming languages. The tasks are development of metrics exploitation approaches for evaluating and comparing code and implementation of the metric calculation program. The description for subsets of the languages C#, C++ and Java was created. A values gradation Halstead metrics and the approaches for analyzing dynamic changes of a software product and comparison of different programs solving the same problem are proposed and first allowed calculated metrics values interpretation. “Metrics Observer” program was developed. It calculates 11 metrics values for programs in object-oriented language and 16 metrics values that do not depend on the paradigm. Practical significance is to prepare solutions for comparing different implementations of the same task, identifying code modules for refactoring, estimating dynamic code quality changes during the development / refactoring process and individual contributions of developers to a project.

References

Xenos M. Software Metrics and Measurements // Encyclopedia of E-Commerce, E-Government and Mobile Commerce. Idea Group Publishing, 2006. P. 1029–1036.

ISO 9000 family. Quality management. URL: https://www.iso.org/iso-9001-quality-management.html (дата обращения: 30.06.2023).

CMM. Capability Maturity Model. URL: https://www.geeksforgeeks.org/software-engineering-capability-maturity-model-cmm/ (дата обращения: 30.06.2023)

CMMI. Capability Maturity Model Integration. URL: https://docs.microsoft.com/en-us/azure/-devops/boards/work-items/guidance/cmmi/-guidance-background-to-cmmi?view=azure-devops (дата обращения: 30.06.2023).

Звездин С. Метрики как средство управления качеством // Открытые системы. СУБД. 2009. № 08. C. 36–40.

Значения метрик кода – Visual Studio (Win-dows). URL: https://docs.microsoft. com/ru-ru/visualstudio/code-quality/code-metrics-values?view=vs-2019 (дата обращения: 30.06.2023).

SourceStat – расчет метрик программного обеспечения. URL: http://bitaks.com/products/sourcestat/sourcestat.html (дата обращения: 30.06.2023).

NLOC – Source Line Counter Tool. URL: http://nloc.sourceforge.net/index.html (дата об-ращения: 30.06.2023).

Lee M.-C., Chang T. Software Measurement and Software Metrics in Software Quality // International Journal of Software Engineering and Its Applications. 2013. Vol. 7, № 4. P. 15–34. URL: https://www.researchgate.net/publication/260480820_Software_measurement_and_software_metrics_in_software_quality (дата обращения: 30.06.2023).

Корзников А.О., Дацун Н.Н. Реализация приложения расчета метрик кода на объектно-ориентированном языке программирования / Актуальные проблемы математики, механики и информатики: сб. статей по материалам студ. конф. / Перм. гос. нац. исслед. ун-т. Пермь, 2022. С. 40–45. URL: https://www.elibrary.ru/item.asp?id=49889579 (дата обращения: 30.06.2023).

Ахо А., Сети Р., Ульман Д. Компиляторы: Принципы, технологии, инструменты. М.: Вильямс, 2008. 1184 с.

Published

2023-10-06

How to Cite

Korznikov А. О., & Datsun Н. Н. (2023). Program Realization for Code Metrics Calculation in Object-Oriented Programming Language. BULLETIN OF PERM UNIVERSITY. MATHEMATICS. MECHANICS. COMPUTER SCIENCE, (3 (62), 76–84. https://doi.org/10.17072/1993-0550-2023-3-76-84