Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 30184
Object-Oriented Cognitive-Spatial Complexity Measures

Authors: Varun Gupta, Jitender Kumar Chhabra

Abstract:

Software maintenance and mainly software comprehension pose the largest costs in the software lifecycle. In order to assess the cost of software comprehension, various complexity measures have been proposed in the literature. This paper proposes new cognitive-spatial complexity measures, which combine the impact of spatial as well as architectural aspect of the software to compute the software complexity. The spatial aspect of the software complexity is taken into account using the lexical distances (in number of lines of code) between different program elements and the architectural aspect of the software complexity is taken into consideration using the cognitive weights of control structures present in control flow of the program. The proposed measures are evaluated using standard axiomatic frameworks and then, the proposed measures are compared with the corresponding existing cognitive complexity measures as well as the spatial complexity measures for object-oriented software. This study establishes that the proposed measures are better indicators of the cognitive effort required for software comprehension than the other existing complexity measures for object-oriented software.

Keywords: cognitive complexity, software comprehension, software metrics, spatial complexity, Object-oriented software

Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1072347

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

References:


[1] M. .P. O-Brien and J. Buckley, "Inference-Based and Expectation based Processing in Program Comprehension", in Proc. Ninth IEEE Int-l Workshop Program Comprehension, 2001, pp. 71-78.
[2] T. J. McCabe, "A complexity measure", IEEE Transactions on Software Engineering, vol. SE-2 (4), pp. 308-320, 1976.
[3] M.H. Halstead, Elements of Software Science, Elsevier North-Holland, New York, 1997.
[4] W. Harrison, "An entropy-based measure of software complexity", IEEE Transactions on Software Engineering, vol. 18(11), 1992, pp. 1025- 1029.
[5] Y. Wang and J. Shao, "Measurement of the cognitive functional complexity of software", in Proc. IEEE International Conference on Cognitive Informatics, ICCI-03, 2003, pp. 67-71.
[6] Y. Wang, and J. Shao, "A new measure of software complexity based on cognitive weights", Canadian Journal of Electrical & Computer Engineering, vol. 28(2), 2003, pp. 69-74.
[7] S. Misra, "Modified cognitive complexity measure", 21st ISCIS-06, LNCS, vol. 4263, pp. 1050-59, 2006.
[8] S. Misra, "A complexity measure based on cognitive weights", International Journal of Theoretical and Applied Computer Science, vol. l (1), 2006, pp. 1-10.
[9] C.R. Douce, P.J. Layzell, and J. Buckley, "Spatial measures of software complexity", in Proc. 11th Meeting of Psychology of Programming Interest Group, 1999.
[10] J. K. Chhabra, K. K. Aggarwal, and Y. Singh, "Code and data spatial complexity: two important software understandability measures", Information and Software Technology, vol. 45(8), 2003, pp. 539-546.
[11] J. K. Chhabra, K. K. Aggarwal, and Y. Singh, "Measurement of object oriented software spatial complexity", Information and Software Technology, vol. 46(10), 2004, pp. 689-699.
[12] J. K. Chhabra and V. Gupta, "Towards spatial complexity measures for comprehension of Java programs", in Proc. IEEE International Conference on Advanced Computing and Communications, 2006, pp. 430-433.
[13] N. E. Gold and P. J. Layzell, "Spatial complexity metrics: an investigation of utility", IEEE Transactions on Software Engineering, vol. 3(1), 2005, pp. 203-212.
[14] S. D. Conte, H. E. Dunsmore, and V. Y. Shen, Software Engineering Metrics and Models, Cummings Pub. Coi. Inc., USA, 1986.
[15] E. J. Weyuker, "Evaluating software complexity measure", IEEE Transaction on Software Engineering, vol. 14(9), 1988, pp. 1357-1365.
[16] L. C Briand, S. Morasca, and V. R. Basili, "Property based software engineering measurement", IEEE Transactions on Software Engineering, vol. 22(1), 1996, pp. 68-86.
[17] S. Chidamber and C. Kemerer, "A metrics suite for object-oriented design", IEEE Transactions on Software Engineering, vol. 20(6), 1994, pp. 476-493.
[18] J. K. Chhabra, K. K. Aggarwal, and Y. Singh, "A unified measure of complexity of object-oriented software", Journal of the Computer Society of India, vol. 34(3), 2004, pp. 2-13.
[19] S. Misra and A. K. Misra, "Evaluating cognitive complexity measures with Weyuker properties", in Proc. third IEEE International Conference on Cognitive Informatics (ICCI2004), 2004, pp.103-108.
[20] S. Misra and A. K. Misra, "Evaluation and comparison of cognitive complexity measure", ACM SIGSOFT Software Engineering Notes , vol. 32(2), 2007, pp. 1-5.
[21] D. P. Tegarden, S. D. Sheetz, and D. E. Monarchi, "The effectiveness of traditional metrics for object-oriented systems", in Proc. Twenty-Fifth Hawaii International Conference on System Sciences, 1992.
[22] D. P. Tegarden, S. D. Sheetz, and D. E. Monarchi, "A software complexity model of object-oriented systems", Decision Support Systems: the International Journal, vol. 13, 1995, pp. 241-262.
[23] V. Y. Shen, S. D. Conte, and H. E. Dunsmore, "Software Science Revisited: A Critical Analysis of the Theory and its Empirical Support", IEEE Transactions on Software Engineering, vol. SE-9 (2), 1983, pp. 155-165.
[24] Y. Singh, "Metrics and Design Techniques for Reliable Software", PhD Thesis, Kurukshetra University, Kurukshetra, 1995.