Object-Oriented Inheritance Metrics in the Context of Cognitive Complexity

  • Authors:
  • Deepti Mishra;Alok Mishra

  • Affiliations:
  • (Correspd.) Department of Computer Engineering, Atilim University, Ankara, Turkey. deepti@atilim.edu.tr;Department of Software Engineering, Atilim University, Ankara, Turkey. alok@atilim.edu.tr

  • Venue:
  • Fundamenta Informaticae - Knowledge Technology
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is important to identify modules that are fault prone or exhibit evidence of high cognitive complexity as these modules require corrective actions such as increased source code inspection, refactoring or performing more exhaustive testing. This can lead to a better quality software system. It has been found that inheritance has an impact on the cognitive complexity of a software system. In this paper, two inheritance metrics based on cognitive complexity, one at class level CCI (Class Complexity due to Inheritance) and another at program level ACI (Average Complexity of a program due to Inheritance), have been proposed for object-oriented software systems. Additionally, one more metric MC (Method Complexity) has been proposed to calculate the complexity of a method. These proposed metrics are compared with some well known object-oriented inheritance metrics by calculating their values for three random C++ programs. It has been observed that CCI and ACI are better to represent cognitive complexity due to inheritance than other well known class level and program level inheritance metrics.