Stuck and Frustrated or in Flow and Happy: Sensing Developers' Emotions and Progress

Author(s): S. Müller, T. Fritz
Venue: 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering
Date: 2015

Type of Experiement: Survey/Multi-Case Study
Sample Size: 17
Class/Experience Level: Graduate Student, Professional
Participant Selection: Recruited
Data Collection Method: Observation, Survey


This study investigates software developers’ emotions and progress and uses biometric (aka psycho-physiological) measures to classify them in the context of software change tasks.

The lab study was conducted with 17 participants working on two change tasks each. The first change task was to write a small Java program that interacts with the StackExchange API and the second was to implement a new feature in JHotDraw. During their work on these change tasks, participants wore three biometric sensors and had to periodically assess their emotions and perceived progress. The results showed that there was a high correlation between the developers’ emotion and their perceived progress on the change tasks. The researchers were able to identify the causes for changes in emotion and looked at biometric measures, such as heart rate, skin temperature, and pupil size, to measure that change. An example of one of the causes of a participant’s decrease in emotion was their difficulty in understanding how parts of the code/API work.

According to the researchers, the results of this study open up opportunities for improving a developer’s productivity as it can “provide recommendations at opportune moments when a developer is stuck and making no progress”. For example, one could provide automatic support for a developer by providing recommended code examples, relevant document, or anything else that could help them when they get stuck or frustrated. In the future, the researchers of this study intend to explore these opportunities and find more individualized classifiers that take into account different biometric data and try to determine a developer's emotions and progress more accurately.