Not logged in.

Contribution Details

Type Dissertation
Scope Discipline-based scholarship
Title Using Biometric Sensors to Increase Developers' Productivity
Organization Unit
Authors
  • Sebastian Müller
Supervisors
  • Thomas Fritz
  • Harald Gall
  • Emerson Murphy-Hill
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Date 2016
Abstract Text The development of software is a cost- and people-intensive process. For years, the software development industry has been coping with a shortage of software developers. Besides just training even more software developers, an alternative and particularly promising way to tackle this problem, is to boost the productivity of every single developer. Traditionally, research on developers’ productivity has primarily focused on assessing their output using certain metrics and has therefore suffered from two major drawbacks: most of these approaches do not take into account the individual differences that exist between software developers, and the metrics used for these approaches can, in most cases, only be calculated once the work is done. Emerging biometric sensors offer a new opportunity to gain a better understanding of what developers perceive during their work and thereby a new way to better understand what aspects are affecting developers’ productivity. The basic idea behind biometric sensing is to measure a person’s physiological features that in turn can be linked to a person’s psychological states. A multitude of studies in psychology have already shown that biometric measurements can be used to assess the emotional and cognitive states of a developer. In our research, we investigate the use of biometric measurements to assess a developer’s perceived difficulty, progress and emotions while working on a change task. Based on the assumption that more difficult code has a higher likelihood to contain a bug compared to code that is perceived as being easier, we also investigate the use of biometric measurements to identify code quality concerns in the code developers are changing. Our vision is to gain a better understanding of what every individual developer experiences, feels or perceives during his/her work, and how these aspects affect his/her productivity, to suggest approaches which increase every individual developer’s productivity. In our research, we conducted three studies, ranging from lab experiments to a two-week field study, to investigate the use of biometric sensors in a software development context. The results of our studies provide initial evidence that biometrics can be used to better understand what a developer perceives in realtime, while s/he is working on a change task. In particular, using biometric data, we were able to distinguish between positive and negative emotions, phases of high and low progress and to predict a developer’s perceived difficulty while working on a change task with high accuracy. Additionally, we were able to use biometrics to predict code quality concerns that were identified in peer code reviews. These findings open up many opportunities for better supporting developers in their work, for instance by automatically and instantaneously detecting potential quality concerns in the code, before they are committed to the code repository, or by avoiding costly interruptions when a developer is in the flow and making a lot of progress.
Zusammenfassung Die Entwicklung von Software ist ein kosten- und arbeitsintensiver Prozess. Trotz der wachsenden Anzahl an Softwareentwicklern kämpft die Software-Industrie seit Jahren mit einem Mangel an Softwareentwicklern. Neben der Ausbildung von weiteren Softwareentwicklern liegt eine besonders vielsprechende Lösungsmöglichkeit darin, die Produktivität jedes einzelnen Softwareentwicklers zu steigern. Forschung mit dem Ziel die Produktivität eines Entwicklers zu steigern fokussierte sich bis jetzt vor allem auf die Artefakte, beispielsweise Source Code, die Entwickler produzieren, und hat versucht diese Artefakte mit Hilfe von verschiedenen Metriken zu messen. Diese Vorgehensweise hat zwei Nachteile: erstens können die individuellen Unterschiede, die zwischen Entwicklern existieren, nicht in Betracht gezogen werden, und zweitens können die Metriken, die für diese Vorgehensweise verwendet werden, oft erst berechnet werden, nachdem die Arbeit an einer Source Code Änderungsaufgabe (Change Task) vollständig abgeschlossen ist. Neuerdings bieten biometrische (auch bekannt als psychophysiologische) Sensoren die Möglichkeit besser zu verstehen was ein Softwareentwickler während seiner/ihrer Arbeit empfindet und welche Aspekte seine/ihre Produktivität am Arbeitsplatz beeinflussen. Verschiedene Studien im Bereich der Psychologie haben bereits gezeigt, dass biometrische Sensoren verwendet werden können, um verschiedene Emotionen einer Person, als auch einige ihrer kognitiven Empfindungen, beispielsweise Cognitive Load (CL), zu bestimmen. Für unsere Forschung untersuchen wir die Realisierbarkeit biometrische Sensoren zu verwenden, um die empfundenen Schwierigkeiten, den Fortschritt und die Emotionen eines Entwicklers, während dieser an einer Source Code Änderungsaufgabe arbeitet, zu ermitteln. Dieselben biometrischen Messwerte wollen wir verwenden um Stellen im Code zu finden, die eine mangelnde Software Qualität aufweisen. Grundlage dafür ist die Vermutung, dass Code, welcher von Entwicklern als schwierig empfunden wird, eine höhere Wahrscheinlichkeit hat einen Fehler zu enthalten, als einfacher Code. Unser langfristiges Ziel ist es, die Aspekte, welche einen Entwickler bei seiner/ihrer Arbeit erfährt, empfindet oder wahrnimmt, zu identifizieren, und besser zu verstehen, wie diese seine/ihre Produktivität beeinflussen. Dieses verbesserte Verständnis wollen wir anwenden, um jeden einzelnen Entwickler effizienter in seiner/ihrer Arbeit zu unterstützen und dadurch langfristig die individuelle Produktivität zu steigern. Wir haben drei verschiedene Studien, die von einfachen Experimenten bis zu einer mehrwöchigen Feldstudie reichen, durchgeführt, um die Realisierbarkeit von biometrischen Sensoren im Bereich der Software Entwicklung zu untersuchen. Die Resultate dieser Studien zeigen, dass wir biometrische Sensoren verwenden können, um in Echtzeit die Empfindungen eines Entwicklers, der an einer Source Code Änderungsaufgabe arbeitet, besser verstehen zu können. Insbesondere ist es möglich die biometrischen Sensoren zu verwenden um zwischen positiven und negativen Emotionen, sowie zwischen Phasen von grossem und kleinem Fortschritt an einer Änderungsaufgabe, mit grosser Genauigkeit bestimmen zu können. Ausserdem konnten wir die Sensoren verwenden um die empfundene Schwierigkeit eines Entwicklers vorherzusagen und potentielle Stellen im Code mit mangelnder Qualität zu bestimmen. Diese neuen Erkenntnisse bieten nun viele Möglichkeiten, um einen Entwickler bei seiner/ihrer Arbeit besser unterstützen zu können. Zum Beispiel könnten mögliche Qualitätsprobleme im Code automatisch und frühzeitig erkannt werden, noch bevor ein Entwickler den mangelhaften Code in einem Code Repository speichert, oder Unterbrechungen durch Mitarbeiter könnten nach Möglichkeit verhindert werden, falls sich ein Entwickler gerade im Flow befindet und viel Fortschritt macht.
Other Identification Number merlin-id:13927
PDF File Download from ZORA
Export BibTeX
EP3 XML (ZORA)