Can EEG Be Adopted as a Neuroscience Reference for Assessing Software Programmers’ Cognitive Load?
<p>Representative schematics of one trial procedure, involving the fixed cross, in a screen, before and after the relevant tasks for analysis, i.e., the reading control task and the code comprehension task.</p> "> Figure 2
<p>Complexity level of each code tasks according to each one of the five software complexity metrics used.</p> "> Figure 3
<p>Schematic representation of the acquisition setup.</p> "> Figure 4
<p>Examples of some artifact components that were identified and removed: (<b>i</b>) In component IC1, an eye blinking artifact component can easily be recognized; (<b>ii</b>) component IC2 contains cardiac artifact; (<b>iii</b>) component IC3 shows another example of ocular artifacts, the saccades/microsaccades; and (<b>iv</b>) component IC10 contains involuntary muscle movement.</p> "> Figure 5
<p>Schematic representation of the feature normalization and transformation steps.</p> "> Figure 6
<p><span class="html-italic">p</span>-values of the pairwise comparison of the classification model options, with Bonferroni correction. The values higher than the significance level of 0.05 are colored with light blue, while the intermediate blue is related to a significance level of 0.05 and dark blue to a significance level of 0.01. PCA: Principal Component Analysis; Krusk: Kruskal-Wallis H test; NMI: Normalized Mutual Information; Reli: ReliefF Algorithm; SVM: Support Vector Machine; FLDA: Fisher Linear Discriminant Analysis classifier; kNN: k-nearest neighbors algorithm; Naive: Naive Bayes classifier.</p> "> Figure 7
<p>Mental effort felt by the participants and written on the NASA-TLX for the three different Code tasks.</p> "> Figure 8
<p>Topographic map representing the percentage of the features corresponding to each electrode after feature selection with Kruskal–Wallis H test, for the multiclass scenario C1 vs. C2 vs. C3 vs. Control.</p> "> Figure 9
<p>Radar plot depicting which type of features are more frequent (in %) in the dataset obtained after feature selection, for the multiclass scenario C1 vs. C2 vs. C3 vs. Control.</p> "> Figure 10
<p>Example of the fusion of EEG with eye tracking, for an intermediate participant during Code task 1. (<b>A</b>) Density of gaze points with the red line as a reference of 50% of the maximum row density; (<b>B</b>) clusters of gaze points over time and the y-axis; (<b>C</b>) code task figure overlapped with gaze points; and (<b>D</b>) discriminant EEG features values over time.</p> "> Figure 11
<p>Example of the fusion of EEG with eye tracking, for an expert participant during the Code task 2. (<b>A</b>) Density of gaze points, with the red line as a reference of 50% of the maximum row density; (<b>B</b>) clusters of gaze points over time and the y-axis; (<b>C</b>) code task figure overlapped with gaze points; and (<b>D</b>) discriminant EEG features values over time.</p> ">
Abstract
:1. Introduction
- If the annotations associated with a given set of code lines say that the programmer is under high cognitive overload while producing/reviewing such code lines, then the chance of having software bugs in such code lines is higher than normal;
- If the code is complex (measured by classic complexity metrics) and the annotations show that the programmer is distracted while dealing with such code lines, then the probability of software bugs in the annotated code lines is higher than normal;
- If the code is simple and the annotations show that the programmer is under high mental effort, then the probability of software bugs in the annotated code lines is higher than normal.
- Proposes the very first approach to use EEG as a reference to evaluate and improve the accuracy of wearable devices that rely on physiologic manifestations driven by the ANS, as indicators of programmers’ cognitive load. This contribution includes the online availability of a package including the proposed method, protocols, datasets, and EEG results;
- Demonstrates the viability of using EEG-derived features for assessing the cognitive load of programmers in comprehending program snippets of different complexities;
- Shows that cognitive load of programmers in code comprehension is consistent with the subjective perception of the programmers on the complexity and mental effort spent on comprehending a given program snippet;
- Confirms that software complexity metrics have clear limitations as indicators of the code complexity as perceived by (human) programmers, and shows that programmers’ perceived code complexity saturates very quickly as complexity metrics increase. This contribution has a relevant impact on existing software development practices, as it shows that the use of complexity metrics by the software industry (as a code complexity indicator during development) must be revisited to include both complexity metrics and programmers’ perceived code complexity measures.
2. Background and Related Work
2.1. Software Complexity Metrics and Software Quality
2.2. Electroencephalography
3. Materials and Methods
3.1. Protocol
3.2. Participants, Acquisition Setup, and Quality Control
3.3. Preprocessing
3.3.1. Filtering
3.3.2. Channels Spatial Interpolation
3.3.3. Re-Referencing
3.3.4. Blind Source Separation
3.4. Feature Extraction
- (a)
- Uni-channel Time Domain features
- Statistical features commonly used in EEG analysis [67] to characterize amplitude changes and distribution of the signal over time, such as the mean of raw and normalized signal as a measure of the central tendency; variance as measure of the dispersion; skewness as a measure of the distribution asymmetry; and kurtosis as a measure of the distribution tailedness;
- Hjorth Parameters—in order to describe the EEG signals, Hjorth [68] derived a set of three parameters (activity, mobility, and complexity), widely used nowadays [69]. Activity measures the variance of the signal’s amplitude, and it was already included in the statistical features. Mobility measures the variance of the signal derivative in relation to the variance of the signal’s amplitude. Finally, complexity measures the deviation of the signal from the pure signal with the sine shape.
- (b)
- Uni-channel Frequency Domain featuresFrequency content has long been correlated to cognitive states and, therefore, these features are commonly applied in EEG related analysis. The power spectrum density (PSD) was calculated by squaring the absolute value of the fast fourier transform of the signal. Then, from the PSD, several features were extracted aiming at analyzing specific frequency bands. Among these features it is expected that Theta, Alpha, Beta, and Gamma bands stand out as result of the increase of cognitive workload [54,56,57], either individually or when combined;
- Power features obtained by computing the area under the PSD curve:
- –
- Total Power corresponding to the total area of the frequencies of interest.
- –
- Absolute and Relative Power of frequency bands: Delta (0–4 Hz), Theta (4–8 Hz), Alpha (8–13 Hz), Beta (13–30 Hz), and Gamma (30–90 Hz). The latter given its wide range, was divided into three sub-bands: Low Gamma (30–50 Hz), Medium Gamma (50–70 Hz), and High Gamma (70–90 Hz).
- –
- Power ratios between bands (combinations of all the seven bands two-by-two), as suggested by [19], it can improve the analysis by minimizing the variability effect of the PSD between subjects.
- –
- Average frequency as estimation of the mean frequency of the PSD, in order to explore what are the most predominant frequencies;
- (c)
- Multi-channel features
- Differential Asymmetry and Rational Asymmetry, defined as the difference and quotient of the power of the frequency bands between pairs of electrodes (left-right brain hemispheres) has been extensively explored to find relations between brain locations [69];
- Cognitive load index “Brainbeat” was showed by Holm et al. [75] to be a powerful feature in estimating cognitive load during tasks through the ratio between powers of two frequency bands from frontal and parietal brain location:
3.5. Feature Normalization
3.6. Feature Transformation
3.7. Feature Selection and Reduction
3.8. Classification
4. Results and Discussion
4.1. Software Metrics Labeling Analysis
4.2. NASA-TLX Labeling Analysis
4.3. Discriminant Features
4.4. Spatial-Temporal Features Analysis
4.5. EEG as a Reference for Accurate Programmers’ Cognitive State Monitoring
- (1)
- Set of programs specifically designed for code comprehension tasks including different complexity levels (measured using the NASA TLX tool) and the annotations made by programming experts identifying the programs snippets that are considered more difficult to understand for the average programmer;
- (2)
- Experiment protocol including the images used as stimulus during the experiment (i.e., the natural language texts, fixation cross, and the software code examples) and the detailed workflow of the experiment to allow reproducibility of the study;
- (3)
- Anonymized raw data collected for the 26 participants (programmers) including EEG and eye tracking data, synchronized and sharing a common time reference. This data is organized in folders per participant, containing for each folder the data of all the trials of code comprehension performed with each participant. The files can be opened using the Matlab EEGLAB toolbox [61].
5. Threats to Validity
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- McConnell, S.C. Code Complete: A Practical Handbook of Software Construction; Microsoft Press: Redmond, WA, USA, 2004. [Google Scholar]
- Shah, S.M.A.; Morisio, M.; Torchiano, M. The impact of process maturity on defect density. In Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, Lund, Sweden, 19–20 September 2012; ACM/IEEE: New York, NY, USA, 2012; pp. 315–318. [Google Scholar] [CrossRef]
- Boehm, B.; Port, D.; Jain, A.; Basili, V. Achieving CMMI Level 5 improvements with MBASE and the CeBASE method. CrossTalk 2002, 15, 9–16. [Google Scholar]
- Honda, N.; Yamada, S. Empirical Analysis for High Quality SW Development. Am. J. Oper. Res. 2012. [Google Scholar] [CrossRef] [Green Version]
- Zhang, H. An investigation of the relationships between lines of code and defects. In Proceedings of the 2009 IEEE International Conference on Software Maintenance, Edmonton, AB, Canada, 20–26 September 2009; pp. 274–283. [Google Scholar] [CrossRef]
- Sandu, I.; Salceanu, A.; Bejenaru, O. New approach of the Customer Defects per Lines of Code metric in Automotive SW Development applications. In Proceedings of the XXII World Congress of the International Measurement Confederation (IMEKO 2018), Belfast, UK, 3–6 September 2018; IMEKO: Belfast, UK, 2018. [Google Scholar] [CrossRef] [Green Version]
- Judge Business School, University of Cambridge. Financial Content: Cambridge University Study states Software Bugs Cost Economy $312 Billion per Year. 2013. Available online: http://insight.jbs.cam.ac.uk/2013/financial-content-cambridge-university-study-states-software-bugs-cost-economy-312-billion-per-year/ (accessed on 5 April 2020).
- McPeak, A. What’s the True Cost of a Software Bug? 2017. Available online: https://crossbrowsertesting.com/blog/development/software-bug-cost/ (accessed on 5 April 2020).
- Matteson, S. Report: Software Failure Caused $1.7 Trillion in Financial Losses in 2017. 2018. Available online: https://www.techrepublic.com/article/report-software-failure-caused-1-7-trillion-in-financial-losses-in-2017/ (accessed on 5 April 2020).
- Reason, J. Human Error; Cambridge University Press: Cambridge, UK, 1990. [Google Scholar]
- Huang, F.; Liu, B.; Huang, B. A taxonomy system to identify human error causes for software defects. In Proceedings of the 18th ISSAT International Conference on Reliability and Quality in Design, Boston, MA, USA, 26–28 July 2012; pp. 44–49. [Google Scholar] [CrossRef]
- Huang, F. Human Error Analysis in Software Engineering. In Theory and Application on Cognitive Factors and Risk Management: New Trends and Procedures; IntechOpen: Rijeka, Croatia, 2017; p. 19. [Google Scholar] [CrossRef] [Green Version]
- Veltman, J.; Gaillard, A. Physiological workload reactions to increasing levels of task difficulty. Ergonomics 1998, 41, 656–669. [Google Scholar] [CrossRef]
- Walter, G.F.; Porges, S.W. Heart rate and respiratory responses as a function of task difficulty: The use of discriminant analysis in the selection of psychologically sensitive physiological responses. Psychophysiology 1976, 13, 563–571. [Google Scholar] [CrossRef]
- Pfleging, B.; Fekety, D.K.; Schmidt, A.; Kun, A.L. A model relating pupil diameter to mental workload and lighting conditions. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, San Jose, CA, USA, 7–12 May 2016; pp. 5776–5788. [Google Scholar] [CrossRef] [Green Version]
- Parnin, C. Subvocalization-toward hearing the inner thoughts of developers. In Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension, Kingston, ON, Canada, 22–24 June 2011; pp. 197–200. [Google Scholar]
- Setz, C.; Arnrich, B.; Schumm, J.; La Marca, R.; Tröster, G.; Ehlert, U. Discriminating stress from cognitive load using a wearable EDA device. IEEE Trans. Inf. Technol. Biomed. 2009, 14, 410–417. [Google Scholar] [CrossRef]
- Kyriakou, K.; Resch, B.; Sagl, G.; Petutschnig, A.; Werner, C.; Niederseer, D.; Liedlgruber, M.; Wilhelm, F.H.; Osborne, T.; Pykett, J. Detecting moments of stress from measurements of wearable physiological sensors. Sensors 2019, 19, 3805. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Fritz, T.; Begel, A.; Müller, S.C.; Yigit-Elliott, S.; Züger, M. Using psycho-physiological measures to assess task difficulty in software development. In Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May–7 June 2014; ACM: New York, NY, USA, 2014; pp. 402–413. [Google Scholar] [CrossRef] [Green Version]
- Müller, S.C.; Fritz, T. Using (bio) metrics to predict code quality online. In Proceedings of the 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), Austin, TX, USA, 14–22 May 2016; pp. 452–463. [Google Scholar] [CrossRef]
- Couceiro, R.; Duarte, G.; Durães, J.; Castelhano, J.; Duarte, C.; Teixeira, C.; Branco, M.C.; Carvalho, P.; Madeira, H. Biofeedback augmented software engineering: Monitoring of programmers’ mental effort. In Proceedings of the 2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), Montreal, QC, Canada, 25–31 May 2019; pp. 37–40. [Google Scholar] [CrossRef]
- Couceiro, R.; Duarte, G.; Durães, J.; Castelhano, J.; Duarte, C.; Teixeira, C.; Branco, M.C.; Carvalho, P.; Madeira, H. Pupillography as indicator of programmers’ mental effort and cognitive overload. In Proceedings of the 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Portland, OR, USA, 24–27 June 2019; pp. 638–644. [Google Scholar] [CrossRef]
- Couceiro, R.; Barbosa, R.; Durães, J.; Duarte, G.; Castelhano, J.; Duarte, C.; Teixeira, C.; Laranjeiro, N.; Medeiros, J.; Carvalho, P.; et al. Spotting Problematic Code Lines using Nonintrusive Programmers’ Biofeedback. In Proceedings of the 2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE), Berlin, Germany, 28–31 October 2019; pp. 93–103. [Google Scholar] [CrossRef]
- Hussain, M.S.; Calvo, R.A.; Chen, F. Automatic cognitive load detection from face, physiology, task performance and fusion during affective interference. Interact. Comput. 2014, 26, 256–268. [Google Scholar] [CrossRef]
- Sharafi, Z.; Shaffer, T.; Sharif, B.; Guéhéneuc, Y.G. Eye-tracking metrics in software engineering. In Proceedings of the 2015 Asia-Pacific Software Engineering Conference (APSEC), New Delhi, India, 1–4 December 2015; pp. 96–103. [Google Scholar]
- Shriram, R.; Sundhararajan, M.; Daimiwal, N. EEG based cognitive workload assessment for maximum efficiency. Int. Organ. Sci. Res. IOSR 2013, 7, 34–38. [Google Scholar]
- Lee, J.C.; Tan, D.S. Using a low-cost electroencephalograph for task classification in HCI research. In Proceedings of the 19th Annual ACM Symposium on User Interface Software and Technology, Montreux, Switzerland, 15–18 October 2006; pp. 81–90. [Google Scholar] [CrossRef]
- Lin, C.T.; Chuang, C.H.; Huang, C.S.; Tsai, S.F.; Lu, S.W.; Chen, Y.H.; Ko, L.W. Wireless and wearable EEG system for evaluating driver vigilance. IEEE Trans. Biomed. Circuits Syst. 2014, 8, 165–176. [Google Scholar] [CrossRef]
- NASA Task Load Index. 2019. Available online: https://humansystems.arc.nasa.gov/groups/TLX/ (accessed on 22 April 2020).
- Scalabrino, S.; Bavota, G.; Vendome, C.; Linares-Vásquez, M.; Poshyvanyk, D.; Oliveto, R. Automatically assessing code understandability: How far are we? In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, Urbana, IL, USA, 30 October–3 November 2017; pp. 417–427. [Google Scholar] [CrossRef]
- McCabe, T.J. A complexity measure. IEEE Trans. Softw. Eng. 1976, 308–320. [Google Scholar] [CrossRef]
- Halstead, M.H. Elements of Software Science; Elsevier: New York, NY, USA, 1977; Volume 7. [Google Scholar]
- Kasto, N.; Whalley, J. Measuring the difficulty of code comprehension tasks using software metrics. In Proceedings of the Fifteenth Australasian Computing Education Conference, Adelaide, Australia, 29 January–1 February 2013; pp. 59–65. [Google Scholar]
- Herbold, S.; Grabowski, J.; Waack, S. Calculation and optimization of thresholds for sets of software metrics. Empir. Softw. Eng. 2011, 16, 812–841. [Google Scholar] [CrossRef] [Green Version]
- Minelli, R.; Mocci, A.; Lanza, M. I know what you did last summer: An investigation of how developers spend their time. In Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, Florence, Italy, 18–19 May 2015; pp. 25–35. [Google Scholar] [CrossRef]
- Siegmund, J.; Kästner, C.; Apel, S.; Parnin, C.; Bethmann, A.; Leich, T.; Saake, G.; Brechmann, A. Understanding understanding source code with functional magnetic resonance imaging. In Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May–7 June 2014; pp. 378–389. [Google Scholar] [CrossRef] [Green Version]
- Floyd, B.; Santander, T.; Weimer, W. Decoding the representation of code in the brain: An fMRI study of code review and expertise. In Proceedings of the 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), Buenos Aires, Argentina, 20–28 May 2017; pp. 175–186. [Google Scholar] [CrossRef]
- Siegmund, J.; Peitek, N.; Parnin, C.; Apel, S.; Hofmeister, J.; Kästner, C.; Begel, A.; Bethmann, A.; Brechmann, A. Measuring neural efficiency of program comprehension. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, Paderborn, Germany, 4–8 September 2017; pp. 140–150. [Google Scholar] [CrossRef]
- Peitek, N.; Siegmund, J.; Apel, S.; Kästner, C.; Parnin, C.; Bethmann, A.; Leich, T.; Saake, G.; Brechmann, A. A Look into Programmers’ Heads. IEEE Trans. Softw. Eng. 2018. [Google Scholar] [CrossRef] [Green Version]
- Peitek, N.; Siegmund, J.; Parnin, C.; Apel, S.; Hofmeister, J.C.; Brechmann, A. Simultaneous measurement of program comprehension with fMRI and eye tracking: A case study. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Oulu, Finland, 11–12 October 2018; pp. 1–10. [Google Scholar] [CrossRef]
- Peitek, N.; Siegmund, J.; Parnin, C.; Apel, S.; Brechmann, A. Toward conjoint analysis of simultaneous eye-tracking and fMRI data for program-comprehension studies. In Proceedings of the Workshop on Eye Movements in Programming, Warsaw, Poland, 14–17 June 2018; pp. 1–5. [Google Scholar] [CrossRef]
- Castelhano, J.; Duarte, I.C.; Ferreira, C.; Duraes, J.; Madeira, H.; Castelo-Branco, M. The role of the insula in intuitive expert bug detection in computer code: An fMRI study. Brain Imaging Behav. 2019, 13, 623–637. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Krueger, R.; Huang, Y.; Liu, X.; Santander, T.; Weimer, W.; Leach, K. Neurological Divide: An fMRI Study of Prose and Code Writing. In Proceedings of the 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE), Seoul, Korea, 6–11 July 2020. [Google Scholar] [CrossRef]
- Nakagawa, T.; Kamei, Y.; Uwano, H.; Monden, A.; Matsumoto, K.; German, D.M. Quantifying programmers’ mental workload during program comprehension based on cerebral blood flow measurement: A controlled experiment. In Proceedings of the Companion Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May–7 June 2014; pp. 448–451. [Google Scholar] [CrossRef]
- Ikutani, Y.; Uwano, H. Brain activity measurement during program comprehension with NIRS. In Proceedings of the 15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), Las Vegas, NV, USA, 30 June–2 July 2014; pp. 1–6. [Google Scholar] [CrossRef] [Green Version]
- Niemic, C.P.; Warren, K. Studies of Emotion: A Theoretical and Empirical Review of Psychophysiological Studies of Emotion. JUR Rochester 2002, 1, 15–19. [Google Scholar]
- Malmivuo, P.; Malmivuo, J.; Plonsey, R. Electroencephalography. In Bioelectromagnetism: Principles and Applications of Bioelectric and Biomagnetic Fields; Oxford University Press: New York, NY, USA, 1995; Chapter 13; pp. 365–373. [Google Scholar]
- Pellouchoud, E.; Smith, M.E.; McEvoy, L.; Gevins, A. Mental Effort-Related EEG Modulation During Video-Game Play: Comparison Between Juvenile Subjects with Epilepsy and Normal Control Subjects. Epilepsia 1999, 40, 38–43. [Google Scholar] [CrossRef] [Green Version]
- Smith, M.E.; Gevins, A. Neurophysiologic monitoring of mental workload and fatigue during operation of a flight simulator. In Biomonitoring for Physiological and Cognitive Performance during Military Operations; International Society for Optics and Photonics: San Diego, CA, USA, 23 May 2005; pp. 116–127. [Google Scholar] [CrossRef]
- Berka, C.; Levendowski, D.J.; Lumicao, M.N.; Yau, A.; Davis, G.; Zivkovic, V.T.; Olmstead, R.E.; Tremoulet, P.D.; Craven, P.L. EEG correlates of task engagement and mental workload in vigilance, learning, and memory tasks. Aviat. Space, Environ. Med. 2007, 78, B231–B244. [Google Scholar]
- Gevins, A.; Smith, M.E.; Leong, H.; McEvoy, L.; Whitfield, S.; Du, R.; Rush, G. Monitoring working memory load during computer-based tasks with EEG pattern recognition methods. Hum. Factors 1998, 40, 79–91. [Google Scholar] [CrossRef] [PubMed]
- Klimesch, W. EEG alpha and theta oscillations reflect cognitive and memory performance: A review and analysis. Brain Res. Rev. 1999, 29, 169–195. [Google Scholar] [CrossRef]
- Crk, I.; Kluthe, T. Toward using alpha and theta brain waves to quantify programmer expertise. In Proceedings of the 2014 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Chicago, IL, USA, 26–30 August 2014; pp. 5373–5376. [Google Scholar] [CrossRef] [Green Version]
- Lee, S.; Matteson, A.; Hooshyar, D.; Kim, S.; Jung, J.; Nam, G.; Lim, H. Comparing programming language comprehension between novice and expert programmers using eeg analysis. In Proceedings of the 2016 IEEE 16th International Conference on Bioinformatics and Bioengineering (BIBE), Taichung, Taiwan, 31 October–2 November 2016; IEEE: Piscataway, NJ, USA; pp. 350–355. [Google Scholar] [CrossRef]
- Lee, S.; Hooshyar, D.; Ji, H.; Nam, K.; Lim, H. Mining biometric data to predict programmer expertise and task difficulty. Clust. Comput. 2018, 21, 1097–1107. [Google Scholar] [CrossRef]
- Yeh, M.K.C.; Gopstein, D.; Yan, Y.; Zhuang, Y. Detecting and comparing brain activity in short program comprehension using EEG. In Proceedings of the 2017 IEEE Frontiers in Education Conference (FIE), Indianapolis, IN, USA, 18–21 October 2017; pp. 1–5. [Google Scholar] [CrossRef]
- Kosti, M.V.; Georgiadis, K.; Adamos, D.A.; Laskaris, N.; Spinellis, D.; Angelis, L. Towards an affordable brain computer interface for the assessment of programmers’ mental workload. Int. J. Hum. Comput. Stud. 2018, 115, 52–66. [Google Scholar] [CrossRef]
- Katsigiannis, S.; Ramzan, N. DREAMER: A database for emotion recognition through EEG and ECG signals from wireless low-cost off-the-shelf devices. IEEE J. Biomed. Health Inform. 2017, 22, 98–107. [Google Scholar] [CrossRef] [Green Version]
- Hart, S.G.; Staveland, L.E. Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research. In Advances in Psychology; Elsevier: Amsterdam, The Netherlands; pp. 139–183. [CrossRef]
- Fenton, N.E.; Ohlsson, N. Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Softw. Eng. 2000, 26, 797–814. [Google Scholar] [CrossRef] [Green Version]
- Delorme, A.; Makeig, S. EEGLAB: An open source toolbox for analysis of single-trial EEG dynamics including independent component analysis. J. Neurosci. Methods 2004, 134, 9–21. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Perrin, F.; Pernier, J.; Bertrand, O.; Echallier, J. Spherical splines for scalp potential and current density mapping. Electroencephalogr. Clin. Neurophysiol. 1989, 72, 184–187. [Google Scholar] [CrossRef]
- Cohen, M.X. Preprocessing Steps Necessary and Useful for Advanced Data Analysis. In Analyzing Neural Time Series Data: Theory and Practice; MIT Press: Cambridge, MA, USA, 2014; Chapter 7; pp. 71–85. [Google Scholar]
- Cohen, M.X. EEG Artifacts: Their Detection, Influence, and Removal. In Analyzing Neural Time Series Data: Theory and Practice; MIT Press: Cambridge, MA, USA, 2014; Chapter 8; pp. 87–96. [Google Scholar]
- Lee, T.W.; Girolami, M.; Sejnowski, T.J. Independent component analysis using an extended infomax algorithm for mixed subgaussian and supergaussian sources. Neural Comput. 1999, 11, 417–441. [Google Scholar] [CrossRef]
- Urigüen, J.A.; Garcia-Zapirain, B. EEG artifact removal—State-of-the-art and guidelines. J. Neural Eng. 2015, 12, 031001. [Google Scholar] [CrossRef]
- Alarcao, S.M.; Fonseca, M.J. Emotions recognition using EEG signals: A survey. IEEE Trans. Affect. Comput. 2017. [Google Scholar] [CrossRef]
- Hjorth, B. EEG analysis based on time domain properties. Electroencephalogr. Clin. Neurophysiol. 1970, 29, 306–310. [Google Scholar] [CrossRef]
- Jenke, R.; Peer, A.; Buss, M. Feature extraction and selection for emotion recognition from EEG. IEEE Trans. Affect. Comput. 2014, 5, 327–339. [Google Scholar] [CrossRef]
- Pope, A.T.; Bogart, E.H.; Bartolome, D.S. Biocybernetic system evaluates indices of operator engagement in automated task. Biol. Psychol. 1995, 40, 187–195. [Google Scholar] [CrossRef]
- Freeman, F.G.; Mikulka, P.J.; Scerbo, M.W.; Scott, L. An evaluation of an adaptive automation system using a cognitive vigilance task. Biol. Psychol. 2004, 67, 283–297. [Google Scholar] [CrossRef] [PubMed]
- Lei, S. Driver Mental States Monitoring Based on Brain Signals. Ph.D. Thesis, TU Berlin, Berlin, Germany, 2011. [Google Scholar]
- Kostyunina, M.; Kulikov, M. Frequency characteristics of EEG spectra in the emotions. Neurosci. Behav. Physiol. 1996, 26, 340–343. [Google Scholar] [CrossRef]
- Angelakis, E.; Stathopoulou, S.; Frymiare, J.L.; Green, D.L.; Lubar, J.F.; Kounios, J. EEG neurofeedback: A brief overview and an example of peak alpha frequency training for cognitive enhancement in the elderly. Clin. Neuropsychol. 2007, 21, 110–129. [Google Scholar] [CrossRef]
- Holm, A.; Lukander, K.; Korpela, J.; Sallinen, M.; Müller, K.M. Estimating brain load from the EEG. Sci. World J. 2009, 9, 639–651. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Novak, D.; Mihelj, M.; Munih, M. A survey of methods for data fusion and system adaptation using autonomic nervous system responses in physiological computing. Interact. Comput. 2012, 24, 154–172. [Google Scholar] [CrossRef]
- Wang, X.W.; Nie, D.; Lu, B.L. Emotional state classification from EEG data using machine learning approach. Neurocomputing 2014, 129, 94–106. [Google Scholar] [CrossRef]
- Kruskal, W.H.; Wallis, W.A. Use of ranks in one-criterion variance analysis. J. Am. Stat. Assoc. 1952, 47, 583–621. [Google Scholar] [CrossRef]
- Mann, H.B.; Whitney, D.R. On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 1947, 50–60. [Google Scholar] [CrossRef]
- Robnik-Šikonja, M.; Kononenko, I. Theoretical and empirical analysis of ReliefF and RReliefF. Mach. Learn. 2003, 53, 23–69. [Google Scholar] [CrossRef] [Green Version]
- Kononenko, I.; Robnik-Sikonja, M.; Pompe, U. ReliefF for estimation and discretization of attributes in classification, regression, and ILP problems. In Artificial Intelligence: Methodology, Systems, Applications; IOS Press: Amsterdam, The Netherlands, 1996; pp. 31–40. [Google Scholar]
- Mukaka, M.M. A guide to appropriate use of correlation coefficient in medical research. Malawi Med. J. 2012, 24, 69–71. [Google Scholar] [PubMed]
- Estévez, P.A.; Tesmer, M.; Perez, C.A.; Zurada, J.M. Normalized mutual information feature selection. IEEE Trans. Neural Netw. 2009, 20, 189–201. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Jolliffe, I.T.; Cadima, J. Principal component analysis: A review and recent developments. Philos. Trans. R. Soc. Math. Phys. Eng. Sci. 2016, 374, 20150202. [Google Scholar] [CrossRef]
- Ballabio, D. A MATLAB toolbox for Principal Component Analysis and unsupervised exploration of data structure. Chemom. Intell. Lab. Syst. 2015, 149, 1–9. [Google Scholar] [CrossRef]
- Balakrishnama, S.; Ganapathiraju, A. Linear discriminant analysis-a brief tutorial. Inst. Signal Inf. Process. 1998, 18, 1–8. [Google Scholar]
- Burges, C.J. A tutorial on support vector machines for pattern recognition. Data Min. Knowl. Discov. 1998, 2, 121–167. [Google Scholar] [CrossRef]
- Cover, T.M.; Hart, P.E. Nearest neighbor pattern classification. IEEE Trans. Inf. Theory 1967, 13, 21–27. [Google Scholar] [CrossRef]
- Rish, I. An empirical study of the naive Bayes classifier. In Proceedings of the IJCAI 2001 Workshop on Empirical Methods in Artificial Intelligence, Seattle, WA, USA, 4–10 August 2001; pp. 41–46. [Google Scholar]
- Arlot, S.; Celisse, A. A survey of cross-validation procedures for model selection. Stat. Surv. 2010, 4, 40–79. [Google Scholar] [CrossRef]
- Zhang, X.; Lyu, Y.; Hu, X.; Hu, Z.; Shi, Y.; Yin, H. Evaluating photoplethysmogram as a real-time cognitive load assessment during game playing. Int. J. Hum. Comput. Interact. 2018, 34, 695–706. [Google Scholar] [CrossRef]
- Bianchi, A.M. Efficacy of Time-and Frequency-Domain Heart Rate Variability Features in Stress Detection and Their Relation with Coping Strategies. In Proceedings of the XV Mediterranean Conference on Medical and Biological Engineering and Computing–MEDICON 2019, Coimbra, Portugal, 26–28 September 2019; p. 209. [Google Scholar] [CrossRef]
- Beatty, J. Task-evoked pupillary responses, processing load, and the structure of processing resources. Psychol. Bull. 1982, 91, 276. [Google Scholar] [CrossRef]
Code Complexity Metrics | Description |
---|---|
Lines of codes | Measures the number of lines in the code |
Number of Parameters | Measures the number of parameters in the code |
Weighted Method Count | Measures the sum of the complexity of the code methods |
McCabe Cyclomatic Complexity | Measures the number of paths that are linear independent in the code |
Nested Block Depth | Measures the maximum nested block depth in the code, i.e., the depth level of the block (e.g., condition) that is deeper in the code |
Name | Frequency Range | Associated State of Brain |
---|---|---|
Delta | <4 Hz | Unconscious/Deep sleep |
Theta | 4–8 Hz | Conscious/Imagination/Memory |
Alpha | 8–13 Hz | Conscious/Relaxed mental activity |
Beta | 13–30 Hz | Conscious/Emotional/Focused |
Gamma | >30 Hz | Conscious/High mental activity |
Classifier | Multiclass Classification | Evaluation Parameter | ||||
---|---|---|---|---|---|---|
Recall (%) | Precision (%) | Specificity (%) | F-Measure (%) | Accuracy (%) | ||
SVM (OAO, C = ) | C1 | 91.35 ± 19.93 | 99.23 ± 3.93 | 99.03 ± 4.73 | 93.60 ± 14.54 | 74.76 ± 12.46 |
C2 | 57.69 ± 38.13 | 51.68 ± 33.39 | 83.91 ± 12.94 | 50.60 ± 30.82 | ||
C3 | 50.96 ± 36.74 | 52.06 ± 35.11 | 85.52 ± 13.70 | 47.09 ± 30.03 | ||
Control | 99.04 ± 4.90 | 91.17 ± 14.90 | 93.75 ± 10.76 | 94.42 ± 9.67 |
Classifier | Binary Classification | Evaluation Parameter | ||||
---|---|---|---|---|---|---|
Recall (%) | Precision (%) | Specificity (%) | F-Measure (%) | Accuracy (%) | ||
SVM (C = 25) | C1 vs. Control | 75.96 ± 34.26 | 73.48 ± 29.98 | 70.19 ± 36.07 | 70.67 ± 28.92 | 73.08 ± 22.27 |
C2 vs. Control | 100.00 ± 0.00 | 99.23 ± 3.92 | 99.04 ± 4.90 | 99.57 ± 2.18 | 99.52 ± 2.45 | |
C3 vs. Control | 100.00 ± 0.00 | 99.23 ± 3.92 | 99.04 ± 4.90 | 99.57 ± 2.18 | 99.52 ± 2.45 |
Classifier | Multiclass Classification | Evaluation Parameter | ||||
---|---|---|---|---|---|---|
Recall (%) | Precision (%) | Specificity (%) | F-Measure (%) | Accuracy (%) | ||
SVM (OAO, C = 25) | C1 | 91.00 ± 20.26 | 98.40 ± 5.54 | 99.33 ± 2.31 | 92.90 ± 14.74 | 96.50 ± 5.13 |
C2/C3 | 98.50 ± 4.15 | 100.00 ± 0.00 | 100.00 ± 0.00 | 99.20 ± 2.21 | ||
Control | 98.00 ± 6.92 | 91.62 ± 13.39 | 96.00 ± 6.85 | 93.94 ± 8.30 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Medeiros, J.; Couceiro, R.; Duarte, G.; Durães, J.; Castelhano, J.; Duarte, C.; Castelo-Branco, M.; Madeira, H.; de Carvalho, P.; Teixeira, C. Can EEG Be Adopted as a Neuroscience Reference for Assessing Software Programmers’ Cognitive Load? Sensors 2021, 21, 2338. https://doi.org/10.3390/s21072338
Medeiros J, Couceiro R, Duarte G, Durães J, Castelhano J, Duarte C, Castelo-Branco M, Madeira H, de Carvalho P, Teixeira C. Can EEG Be Adopted as a Neuroscience Reference for Assessing Software Programmers’ Cognitive Load? Sensors. 2021; 21(7):2338. https://doi.org/10.3390/s21072338
Chicago/Turabian StyleMedeiros, Júlio, Ricardo Couceiro, Gonçalo Duarte, João Durães, João Castelhano, Catarina Duarte, Miguel Castelo-Branco, Henrique Madeira, Paulo de Carvalho, and César Teixeira. 2021. "Can EEG Be Adopted as a Neuroscience Reference for Assessing Software Programmers’ Cognitive Load?" Sensors 21, no. 7: 2338. https://doi.org/10.3390/s21072338
APA StyleMedeiros, J., Couceiro, R., Duarte, G., Durães, J., Castelhano, J., Duarte, C., Castelo-Branco, M., Madeira, H., de Carvalho, P., & Teixeira, C. (2021). Can EEG Be Adopted as a Neuroscience Reference for Assessing Software Programmers’ Cognitive Load? Sensors, 21(7), 2338. https://doi.org/10.3390/s21072338