Misra, SanjayAkman, IbrahimKoyuncu, MuratInformation Systems EngineeringComputer Engineering2024-07-052024-07-052011190256-24990973-767710.1007/s12046-011-0028-22-s2.0-80051671532https://doi.org/10.1007/s12046-011-0028-2https://hdl.handle.net/20.500.14411/1317Misra, Sanjay/0000-0002-3556-9331; Koyuncu, Murat/0000-0003-1958-5945; Koyuncu, Murat/0000-0003-1958-5945Software metrics should be used in order to improve the productivity and quality of software, because they provide critical information about reliability and maintainability of the system. In this paper, we propose a cognitive complexity metric for evaluating design of object-oriented (OO) code. The proposed metric is based on an important feature of the OO systems: Inheritance. It calculates the complexity at method level considering internal structure of methods, and also considers inheritance to calculate the complexity of class hierarchies. The proposed metric is validated both theoretically and empirically. For theoretical validation, principles of measurement theory are applied since the measurement theory has been proposed and extensively used in the literature as a means to evaluate the software engineering metrics. We applied our metric on a real project for empirical validation and compared it with Chidamber and Kemerer (CK) metrics suite. The theoretical, practical and empirical validations and the comparative study prove the robustness of the measure.eninfo:eu-repo/semantics/openAccessSoftware metricsobject-oriented programmingsoftware complexitycognitive weightsmeasurement theoryempirical validationAn inheritance complexity metric for object-oriented code: A cognitive approachArticleQ3363317337WOS:000293196600003