Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31113
Underlying Cognitive Complexity Measure Computation with Combinatorial Rules

Authors: Benjapol Auprasert, Yachai Limpiyakorn


Measuring the complexity of software has been an insoluble problem in software engineering. Complexity measures can be used to predict critical information about testability, reliability, and maintainability of software systems from automatic analysis of the source code. During the past few years, many complexity measures have been invented based on the emerging Cognitive Informatics discipline. These software complexity measures, including cognitive functional size, lend themselves to the approach of the total cognitive weights of basic control structures such as loops and branches. This paper shows that the current existing calculation method can generate different results that are algebraically equivalence. However, analysis of the combinatorial meanings of this calculation method shows significant flaw of the measure, which also explains why it does not satisfy Weyuker's properties. Based on the findings, improvement directions, such as measures fusion, and cumulative variable counting scheme are suggested to enhance the effectiveness of cognitive complexity measures.

Keywords: Cognitive Complexity Measure, Cognitive Weight of Basic Control Structure, Counting Rules, Cumulative Variable Counting Scheme

Digital Object Identifier (DOI):

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1552


[1] Yingxu Wang and Jingqiu Shao, "Measurement of the Cognitive Functional Complexity of Software", Proceedings of the 2nd IEEE International Conference on Cognitive Informatics, p.67, August 18-20, 2003
[2] Yingxu Wang, "Cognitive Complexity of Software and its Measurement," Cognitive Informatics, 2006. ICCI 2006. 5th IEEE International Conference on , vol.1, no., pp.226-235, 17-19 July 2006
[3] Dharmender Singh Kushwaha , A. K. Misra, "A modified cognitive information complexity measure of software", ACM SIGSOFT Software Engineering Notes, v.31 n.1, January 2006
[4] E. J. Weyuker, "Evaluating Software Complexity Measures, IEEE Transactions on Software Engineering", v.14 n.9, p.1357-1365, September 1988
[5] Sanjay Misra , A. K. Misra, "Evaluation and comparison of cognitive complexity measure", ACM SIGSOFT Software Engineering Notes, v.32 n.2, March 2007
[6] Misra, S. and Misra, A.K "Evaluating cognitive complexity measure with Weyuker properties", Cognitive Informatics, 2004. Proceedings of the Third IEEE International Conference on, 16-17 Aug. 2004
[7] AT Benjamin, JJ Quinn, Proofs that Really Count: The Art of Combinatorial Proof, Washington, DC: Mathe-matical Association of America, 2003.
[8] Aigner, Martin; Ziegler, G├╝nter. Proofs from THE BOOK. Berlin; New York: Springer, 2003.
[9] M. H. A. Newman, "On Theories with a Combinatorial Definition of "Equivalence"", The Annals of Mathematics, Second Series, Vol. 43, No. 2 (Apr., 1942), pp. 223-243
[10] Joe Sacada, "The Basic of Counting", Lecture Notes: CIS 2910: Discrete Structures in Computer Science II, University of Guelph
[11] E. I. Oviedo, "Control flow, data flow, and program complexity," Proceedings of COMPSAC, pp.146-152., 1980
[12] Maurice H. Halstead, Elements of Software Science (Operating and programming systems series), Elsevier Science Inc., New York, 1977.
[13] Wang, Y., "On Cognitive Informatics" , Brain and Mind: A Transdisciplinary Journal of Neuroscience and Neurophilosophy, 4(2), pp.151-167, 2003.
[14] Yingxu Wang. "On the Cognitive Informatics Foundations of Software Engineering", Proceedings of the Third IEEE International Conference on Cognitive Informatics 2004
[15] Yingxu Wang , "On the informatics laws of software", Cognitive Informatics, 2002. Proceedings. First IEEE International Conference on, 2002.