Published March 25, 2009
| Version 9219
Journal article
Open
Object-Oriented Cognitive-Spatial Complexity Measures
Authors/Creators
Description
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.
Files
9219.pdf
Additional details
References
- 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.
- T. J. McCabe, "A complexity measure", IEEE Transactions on Software Engineering, vol. SE-2 (4), pp. 308-320, 1976.
- M.H. Halstead, Elements of Software Science, Elsevier North-Holland, New York, 1997.
- W. Harrison, "An entropy-based measure of software complexity", IEEE Transactions on Software Engineering, vol. 18(11), 1992, pp. 1025- 1029.
- 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.
- 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.
- S. Misra, "Modified cognitive complexity measure", 21st ISCIS-06, LNCS, vol. 4263, pp. 1050-59, 2006.
- S. Misra, "A complexity measure based on cognitive weights", International Journal of Theoretical and Applied Computer Science, vol. l (1), 2006, pp. 1-10.
- 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.