Prof. Dr.-Ing. Bert Arnrich

Code With the Flow

In the programming flow or stuck? Measure the flow of professional developers and computer science students.

Master Project (Summer Term 2024)

Supervisors: Charlotte Brandebusemeyer, Fabian Stolp

Whilst programming, one can either be in the flow and everything works smoothly or struggle to concentrate and spend a large amount of time solving error messages. One reason for not being in the flow can be cognitive overload and stress. The aim of this master project is to make the flow measurable by examining cognitive load and stress during software developers' everyday tasks. Making the flow measurable and finding techniques that promote this state would increase a programmer's well-being and productivity.

The programming flow can be measured by recording a person's physiological activity with body sensors during a programming task. Reactions of the eyes, the brain, the skin and the heart give insights into experienced cognitive load and stress. Making physiological activity visible in source code makes it possible to determine problematic sections in the code. These problematic sections may make it difficult for a programmer to remain in a programming flow.

This master project involves the extension and use of an existing IntelliJ Integrated Development Environment (IDE) plugin, CognitIDE. The primary function of this plugin is to record physiological data and link it to specific code words. As a first step, the students are expected to work on extending the capabilities of this plugin. In a second step, they conduct a study in which they use this plugin and record physiological data of professional software developers during a simulated everyday task. Lastly, the data will be analysed with a focus on determining the use of CognitIDE for empirical software engineering studies and the impact of programming tasks on the physiological and psychological state of developers.