DOI: 10.17587/prin.17.210-221
Ned Chapin's Metric in Modern Programming Practice
A. V. Nikonov, D. Sc. (Eng.), Professor, nalva@mail.ru,
G. V. Nikonova, Cand. Sc. (Eng.), Associate Professor, ngvlad@mail.ru,
Omsk State Technical University, Omsk, 644050, Russian Federation
Corresponding author: Alexander V. Nikonov, Professor, Omsk State Technical University, Omsk, 644050, Russian Federation, E-mail: nalva@mail.ru
Received on October 02, 2025
Accepted on November 11, 2025
This article examines the methodology of Ned Chapin's metric for assessing the complexity of software products developed using modern programming languages. The methodological aspects of the metric are presented in comparison with existing practice. The article identifies errors and incorrect approaches associated with the application of the Chapin method in software development, caused by incomplete consideration of the requirements of its methodology and the specific features of programming languages. The causes of errors arising when applying the Chapin metric are identified. Inconsistencies in data classification and the lack of consideration of program structure are highlighted. The specific features of modern programming languages are not taken into account. This paper proposes a new approach to assessing the complexity of code created in modern programming languages. The approach is based on decomposing the program into small fragments that at the same time carry a sufficiently large functional load, formalized as independent software constructs in the process description. Another feature of the proposed approach is that Chapin's method must take into account the peculiarities of modern programming languages, where the syntax of different languages provides high, but varying, line-length compactness, but can also reduce the comprehensibility of the semantics of complex expressions and dependencies. The problem of estimating the complexity of a C++ software module using Chapin's metric is considered, while adhering to the author's requirements for data classification. An example of calculating the measure's value is shown.
Keywords: Ned Chapin's metric, software complexity, software function, software module, data roles, data classification errors, iterations, cohesion, module coupling, subordinate loop
pp. 210—221
For citation:
Nikonov A. V., Nikonova G. V. Ned Chapin's Metric in Modern Programming Practice, Programmnaya Ingeneria, 2026, vol. 17, no. 4, pp. 210—221. DOI: 10.17587/prin.17.210-221 (in Russian).
References:
- Paige M. R. An Analytical Approach to Software Testing, Proceedings of COMPSAC 78, Chicago, IEEE Computer Society, New York, 1978, pp. 527—532. DOI: 10.1109/CMPSAC.1978.810478.
- Halstead M. H. Elements of Software Science, Elsevier North-Holland, Elsevier Computer Science Library, New York, New York, 1977, 127 p.
- Henry S., Kafura D., Harris K. On the Relationships Among Three Software Metrics, 1981 ACM Workshop, Symposium on Measurement and Evaluation of Software Quality, March 1981. DOI: 10.1145/800003.807911.
- Kolence K. W. Software Physics and Computer Performance Measurement, Proc. ACM 1972 Annual Confreence, 1972, vol. 2, pp. 1024—1040. DOI: 10.1145/800194.805896.
- Chen E. T. Program Complexity and Programmer Productivity, Proceedings of Computer Software and Applications Conference, 1977, pp. 142—148.
- McCabe T. J. A Complexity Measure, IEEE Trans. on Software Engineering, 1976, SE-2 no. 4, pp. 308—320.
- Evseev V. V. Applying software code metrics early in the software lifecycle, East European Journal of Advanced Technologies, 2011, vol. 1/2 (49), pp. 19—21 (in Russian).
- Chernikov B. V. Software quality management, Moscow, ID FORUM, INFRA-M, 2012. 240 p. (in Russian).
- Chernikov B. V., Poklonov B. E. Software quality assessment, Moscow, ID FORUM: Research Center Infra-M, 2012. 400 p. (in Russian).
- Kaigorodtsev G. I. Introduction to the Course of Metric Theory and Metrology of Programs, Novosibirsk, NSTU, 2016, 192 p. (in Russian).
- Volovich M. E., Deryugina O. A. Calculating the Main Metrics of Object-Oriented Programming Using the UML MAP, Report of the VII International Scientific and Practical Internet Conference "Current Issues of Hardware, Software and Information Support for Science, Education, Culture and Business", 2015, pp. 36 — 42 (in Russian).
- Chapin N. A. Measure of Software Complexity, 1979 International Workshop on Managing Requirements Knowledge (MARK), 1979, pp. 995—1002. DOI: 10.1109/MARK.1979.8817207.
- Myers G. Software Reliability: trans. from English, Moscow, World, 1980, 360 p. (in Russian).
- Potapov I. V., Baeva M. A. Issues of reliability terminology in the field of programs and software tools, Nadezgnost, 2015, vol. 4, pp. 65—74 (in Russian).
- Chapin N. Input-output tables in structured design, Structured Analysis and Design, 1978, vol. 2, pp. 43—55.
- Zubkova T. M. Software development technology, Orenburg, GOU OGU, 2004, 101 p. (in Russian).
- Weissman L. Psychological complexity of computer programs: an experi-mental methodology, SIGPLAN Notices, 1974, vol. 9, no. 6, pp. 25—36.
- McClure C. L. Formalization and Application of Structured Programming and Program Complexity, Ph. D. Thesis Illinois Institute of Technology, Chicago, 1976, 288 p.
- Chernov A. V. Analysis of obfuscating program transformations, Proc. Institute of Systems Programming RAN, 2002, vol. 3, pp. 7—38 (in Russian).
- Bakhtizin V. V., Glukhova L. A, Neborsky S. N. Metrology, standardization and certification in information technology, Minsk, BSUIR, 2013, 60 p.