Underlying Mental Factors Contributing to Software Complexity
Leena Jain1, Satinderjit Singh2

1Leena Jain*, Professor and Head in Department of Computer Applications, Global Group of Institutes, Amritsar Affiliated to PTU Kapurthala, India.
2Satibderjit Singh**, Department of Computer Applications, GGNIMT, Ludhiana, Affiliated to PTU Kapurthala, India.
Manuscript received on January 20, 2020. | Revised Manuscript received on February 05, 2020. | Manuscript published on February 30, 2020. | PP: 4352-4358 | Volume-9 Issue-3, February 2020. | Retrieval Number:  C6505029320/2020©BEIESP | DOI: 10.35940/ijeat.C6505.029320
Open Access | Ethics and Policies | Cite | Mendeley
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)

Abstract: Software complexity and program comprehension are inversely related. Higher the code complexity, poorer the comprehension. But we neither have good software complexity measure, nor do we understand how the program comprehension took place in human mind. This is because we know so little about the working of the human brain; how it processes internal and external information. In this paper we have identified 5 mental factors which adds into the code complexity. In order to explain these factors, we took 10 code snippet pairs in C language (2 each for every factor). Code snippets in pair are identical – in terms of number of variables, operators, control structure- but we believe one of the snippets in pair is carrying the higher cognitive load due to underlying mental factor identified. To the best of our knowledge these factors identified here in this paper are not used in calculating the code or software complexity. We believe these identified mental factors can be validated by various brain imaging and Eye tracking techniques like EEG and fMRI. They can also be validated by conventional software experimental methods. We believe these identified factors will increase our understanding of Program comprehension as well as it will lead better software complexity measure. This could be very useful in computer science education. The very process of understanding how the human mind decode the software can be possibly understood. In long run this could help us in better understanding of the functioning of human brain.
Keywords: Program comprehension, Software Complexity, Cognitive metrics, Cognitive load, Code snippets, Human brain working.