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.
[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.
[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.
@article{"International Journal of Information, Control and Computer Sciences:58288", author = "Varun Gupta and Jitender Kumar Chhabra", title = "Object-Oriented Cognitive-Spatial Complexity Measures", 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", volume = "3", number = "3", pages = "735-8", }