Project description

At the end of the day, software development is (and will still be for a long time, if you ask me) still a human activity. It is up to developers to come up with the best implementations, to comprehend existing code bases, and to extensively test their software systems.

Lots of research have been dedicated to understand how developers comprehend, test, and evolve software. Even psychologists and cognitive researchers have given their shot on the topic [1]. However, a huge part of our body of knowledge dates back from the early 80s and 90s. Back then, the lack of advanced research tools made researchers to focus more on qualitative methods (i.e., asking developers to express their perceptions and challenges).

Many years later, we are now in an era where biometric sensors have become considerably cheap and precise. Researchers (and industry) have now access to Electroencephalography (EEG), Electrodermal Activity (EDA), and/or eye tracking (ET) devices. Such devices are able to collect signals from, e.g., peoples’ brains, heart, and eye movements. Initial research on using this data for software engineering purposes seems promising.

The goal of this project is to study how biometric sensors can help developers in becoming more productive. More specifically, we:

  • Want to empirically understand the patterns of biometric data in the different development activities.

  • Explore how we can provide developers with interesting real-time recommendations (via machine learning), based on biometric data.

  • Ethnography studies at large industry partners to evaluate the practical effectiveness of such recommendations in the wild.

  • [1] Détienne, F. (2001). Software Design–Cognitive Aspect. Springer Science & Business Media.
  • [2] Peitek, N., Siegmund, J., Apel, S., Kästner, C., Parnin, C., Bethmann, A., … & Brechmann, A. (2018). A Look into Programmers’ Heads. IEEE Transactions on Software Engineering.
  • [3] Fritz, T., Begel, A., Müller, S. C., Yigit-Elliott, S., & Züger, M. (2014, May). Using psycho-physiological measures to assess task difficulty in software development. In Proceedings of the 36th International Conference on Software Engineering (pp. 402-413). ACM.
  • [4] Kosti, M. V., Georgiadis, K., Adamos, D. A., Laskaris, N., Spinellis, D., & Angelis, L. (2018). Towards an affordable brain computer interface for the assessment of programmers’ mental workload. International Journal of Human-Computer Studies, 115, 52-66.

Contacts for the project