The University of Sheffield
School of Computer Science

Vlad Balanescu Undergraduate Dissertation 2017/18

Measuring Programmer Confusion with EEG Sensors

Supervised by K.Bogdanov

Abstract

It has recently been established by research studies that software development is an intellectual activity which is carried out through cognitive processes. Subjective judgements in Software Engineering, such as the choice of algorithms and the right way to implement them are of critical importance, but in the same time they can be very hard to study using conventional means. In this research project psycho-physiological human features are investigated, in order to determine whether or not a task given to programmers is perceived as being confusing, by using a widely commercially available neuroheadset - Emotiv EPOC+. Faced with this information, a developer can take a pre-established action, such as a break or consider simplifying the task he/she is currently working on for a better, more accurate and bug-free solution. In a broader view, this research study aims to understand how EEG measurements can be successfully recordedusing the headset and to determine appropriate and efficient ways of using it to help developers to achieve more reliable and robust software products.

Initial measurements were taken using the tool and the example code provided by the supplier and then thefollowing set of goals have been achieved:

A Java program was built and then used in a demo mode to record plain EEG data and in a survey mode on 2 other subjects to understand their confusion levels during a cognitive demanding activity; A Python script was built in order to interpret and understand the data and to find a way in which confusion can easily be identified in subject brain waves’ readings; A Java indicator was built – a simple Java Swing application which alerts the programmers in case their confusion level follow a specific pattern, so that they can take the necessary precautionary measures, for example have a short break from the cognitive demanding activity;

Even though it was tested on only 2 test subjects, the performance of this device clearly sets the stage for future, more advanced research into the area of neuromonitoring.