Using CognitIDE to Capture Developers' Cognitive Load via Physiological Activity During Everyday Software Development Tasks
Fabian Stolp, Charlotte Brandebusemeyer, Franziska Hradilak, Lara Kursawe, Magnus Menger, Franz Sauerwald, Bert Arnrich
TL;DR
Measuring developers' cognitive load in real IDE settings is difficult with purely subjective or code-metric approaches. The authors propose CognitIDE, an IntelliJ-based plugin that streams physiological data via Lab Streaming Layer and maps signals to specific code elements and UI, enabling automated, in-IDE cognitive-load studies. In a feasibility study with four participants, cognitive-load indicators such as pupil dilation, skin conductance responses, and EEG alpha/theta changes increased during tasks vs. baseline, and gaze-driven highlighting aligned with where participants looked. The results suggest that CognitIDE can support ecologically valid investigations of developer experience and code quality, with potential to optimize productivity and well-being in real-world workflows.
Abstract
Integrated development environments (IDE) support developers in a variety of tasks. Unobtrusively capturing developers' cognitive load while working on different programming tasks could help optimize developers' work experience, increase their productivity, and positively impact code quality. In this paper, we propose a study in which the IntelliJ-based IDE plugin CognitIDE is used to collect, map, and visualize software developers' physiological activity data while they are working on various software development tasks. In a feasibility study, participants completed four simulated everyday working tasks of software developers - coding, debugging, code documentation, and email writing - based on Java open source code in the IDE whilst their physiological activity was recorded. Between the tasks, the participants' perceived workload was assessed. Feasibility testing showed that CognitIDE could successfully be used for data collection sessions of one hour, which was the most extended duration tested and was well-perceived by those working with it. Furthermore, the recorded physiological activity indicated higher cognitive load during working tasks compared to baseline recordings. This suggests that cognitive load can be assessed, mapped to code positions, visualized, and discussed with participants in such study setups with CognitIDE. These promising results indicate the usefulness of the plugin for diverse study workflows in a natural IDE environment.
