Разработка приложения для получения метрик программного продукта на языке объектно-ориентированного программирования
Автор: Корзников А.О., Дацун Н.Н.
Журнал: Вестник Пермского университета. Математика. Механика. Информатика @vestnik-psu-mmi
Рубрика: Информатика, кибернетика, вычислительная техника
Статья в выпуске: 3 (62), 2023 года.
Бесплатный доступ
Все группы процессов жизненного цикла программного продукта на стороне разработчика сложны в осуществлении. При этом следует учитывать возможность генерации программного кода, а в случае командной работы - потребность оценки вклада каждого ее участника. В работе предлагается количественная оценка различных аспектов программного обеспечения путем вычисления метрик программного кода. Цель данной работы - разработка приложения расчета метрик для различных языков объектно-ориентированного программирования (ООП). Задачами являются разработка подходов к применению метрик для оценки и сравнения программного кода, реализация приложения расчета метрик. Создано описание для подмножества языков C#, C++ и Java. Впервые предложены шкалы значений для метрик Холстеда, подходы к анализу динамики изменения программного продукта и сравнению различных программ решения одной задачи. Это позволяет дать интерпретацию значений метрик. Разработано приложение Metrics Observer расчета 11 метрик для программ на языке ООП и 16 метрик, не зависящих от парадигмы. Практическая значимость состоит в подготовке решений для сравнения различных реализаций одной задачи, выявления участков кода для рефакторинга, оценки динамики изменения качества кода в процессе разработки / рефакторинга и вклада в проект отдельных разработчиков.
Метрика, язык объектно-ориентированного программирования, статический анализ кода, оценка программного продукта
Короткий адрес: https://sciup.org/147246633
IDR: 147246633 | УДК: 004.412 | DOI: 10.17072/1993-0550-2023-3-76-84
Program realization for code metrics calculation in object-oriented programming language
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.
Список литературы Разработка приложения для получения метрик программного продукта на языке объектно-ориентированного программирования
- Xenos M. Software Metrics and Measurements // Encyclopedia of E-Commerce, E-Govern-ment and Mobile Commerce. Idea Group Publishing, 2006. P.1029-1036.
- ISO 9000 family. Quality management. URL: https://www.iso.org/iso-9001-quality-manage-ment.html (дата обращения: 30.06.2023).
- CMM. Capability Maturity Model. URL: https://www.geeksforgeeks.org/software-engi-neering-capability-maturity-model-cmm/ (дата обращения: 30.06.2023)
- CMMI. Capability Maturity Model Integra-tion. 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 (Windows). URL: https://docs.microsoft. com/ru-ru/visualstudio/code-quality/code-metrics-val-ues?view=vs-2019 (дата обращения: 30.06.2023).
- SourceStat - расчет метрик программного обеспечения. URL: http://bitaks.com/products/sourcestat/sourcest at.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. 1534. URL: https://www.researchgate.net/publi-cation/260480820_Software_measure-ment_and_software_metrics_in_soft-ware_quality (дата обращения: 30.06.2023).
- Корзников А.О., Дацун Н.Н. Реализация приложения расчета метрик кода на объектно-ориентированном языке программирования / Актуальные проблемы математики, механики и информатики: сб. статей по материалам студ. конф. / Перм. гос. нац. исслед. ун-т. Пермь, 2022. С. 40-45. URL: https://www.elibrary.ru/item.asp?id=49889579 (дата обращения: 30.06.2023).
- Ахо А., Сети Р., Ульман Д. Компиляторы: Принципы, технологии, инструменты. М.: Вильямс, 2008. 1184 с.