A Suite of Cognitive Complexity Metrics

  • Sanjay Misra
  • Murat Koyuncu
  • Marco Crasso
  • Cristian Mateos
  • Alejandro Zunino
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7336)


In this paper, we propose a suite of cognitive metrics for evaluating complexity of object-oriented (OO) codes. The proposed metric suite evaluates several important features of OO languages. Specifically, the proposed metrics are to measure method complexity, message complexity (coupling), attributes complexity and class complexity. We propose also a code complexity by considering the complexity due to inheritance for the whole system. All these proposed metrics (except attribute complexity) use the cognitive aspect of the code in terms of cognitive weight. All the metrics have critically examined through theoretical and empirical validation processes.


software metrics methods messages attributes class coupling inheritance cognitive complexity validation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    IEEE Standard 1061-1992: Standard for a Software Quality Metrics Methodology. Institute of Electrical and Electronics Engineers, New York (1992) Google Scholar
  2. 2.
    Chidamber, S.R., Kermerer, C.F.: A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering 6, 476–493 (1994)CrossRefGoogle Scholar
  3. 3.
    Harrison, R., Counsell, S.J., Nithi, R.V.: An Evaluation of the MOOD Set of Object Oriented Software Metrics. IEEE Transactions on Software Engineering 24(6), 491–496 (1998)CrossRefGoogle Scholar
  4. 4.
    Binder, R.V.: Object-Oriented Software Testing. Communications of the ACM 37(9), 28–29 (1994)CrossRefGoogle Scholar
  5. 5.
    Vaishnavi, V.K., Purao, S., Liegle, J.: Object-Oriented Product Metrics: A Generic Framework. Information Science 177, 587–606 (2007)CrossRefGoogle Scholar
  6. 6.
    Purao, S., Vaishnavi, V.K.: Product Metrics for Object Oriented Systems. ACM Computing Surveys 35(2), 191–221 (2003)CrossRefGoogle Scholar
  7. 7.
    Lorenz, M., Kidd, J.: Object-Oriented Software Metrics. Prentice Hall, Englewood Cliffs (1994)Google Scholar
  8. 8.
    Henderson-Selles, B.: Object-Oriented Metrics, Measure of Complexity. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  9. 9.
    Basily, V.R., Briand, L.C., Melo, W.L.: A Validation of Object Oriented Design Metrics as Quality Indicators. IEEE Transactions on Software Engineering 22(1), 751–761 (1996)CrossRefGoogle Scholar
  10. 10.
    Costagliola, G., Ferrucci, F., Tortora, G., Vitiello, G.: Class Points: An Approach for the Size Estimation of Object-Oriented Systems. IEEE Transactions on Software Engineering 31(1), 52–74 (2005)CrossRefGoogle Scholar
  11. 11.
    Misra, S., Akman, I.: Weighted Class Complexity: A Measure of Complexity for Object-Oriented System. Jour. of Information Science and Engineering 24, 1689–1708 (2008)Google Scholar
  12. 12.
    Kan, S.H.: Metrics and Lessons Learned for OO Projects, ch. 12. Metrics and Models in Software Quality Engineering. Addison-Wesley (2003)Google Scholar
  13. 13.
    Babsiya, J., Davis, C.G.: A Hierarchical Model for Object Oriented Design Quality Assessment. IEEE Transactions on Software Engineering 28(1), 4–17 (2002)CrossRefGoogle Scholar
  14. 14.
    Briand, L., Wust, J.: Modeling Development Effort in Object Oriented System Using Design Properties. IEEE Transactions on Software Engineering 27(11), 963–986 (2001)CrossRefGoogle Scholar
  15. 15.
    Kim, K., Shin, Y., Wu, C.: Complexity Measures for Object-Oriented Program Based on the Entropy. In: Proc. Asia Pacific Software Engineering, pp. 127–136 (1995)Google Scholar
  16. 16.
    Kim, J., Lerch, J.F.: Cognitive Processes in Logical Design: Comparing Object-Oriented and Traditional Functional Decomposition Software Methodologies. Carnegie Mellon University, Graduate School of Industrial Administration, Working Paper (1991) Google Scholar
  17. 17.
    Olague, H.M., Etzkorn, L.H., Gholston, S., Quattlebaum, S.: Empirical Validation of Three Software Metrics Suites to Predict Fault-Proneness of Object-Oriented Classes Developed Using Highly Iterative or Agile Software Development Processes. IEEE Transactions on Software Engineering 33(6), 402–419 (2007)CrossRefGoogle Scholar
  18. 18.
    Pfleeger, S.L., Atlee, J.M.: Software Engineering – Theory and Practice. Prentice-Hall (2006)Google Scholar
  19. 19.
    Sommerville, I.: Software Engineering. Addison Wesley (2004) Google Scholar
  20. 20.
    Wang, Y., Shao, J.: A New Measure of Software Complexity Based On Cognitive Weights. Canadian Journal of Electrical and Computer Engineering 28, 69–74 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sanjay Misra
    • 1
  • Murat Koyuncu
    • 1
  • Marco Crasso
    • 2
    • 3
  • Cristian Mateos
    • 2
    • 3
  • Alejandro Zunino
    • 2
    • 3
  1. 1.Department of Computer EngineeringAtilim UniversityAnkaraTurkey
  2. 2.ISISTAN Research InstituteUNICEN UniversityTandilArgentina
  3. 3.Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)Argentina

Personalised recommendations