thesis

Towards a mood sensitive integrated development environment to enhance the performance of programmers

Abstract

This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University.The aim of the research was to analyze the possibility of developing an Integrated Development Environment (IDE) that could improve a programmer‘s performance by considering their current mood. Various experiments were conducted to study this idea. However, the impact of moods on programmer performance was initially examined in the literature. Based on this, a Cognitive Programming Task Model (CPTM) was developed showing that various cognitive functions and programming activities are interrelated. A second model derived from the literature, the Cognitive Mood Model (CMM), suggested that moods are also interrelated with various cognitive functions. Combining these two models indirectly suggests a relation between moods and programming tasks, which was presented as the Mood Programming Model (MPM). As direct empirical support was lacking for this relation, two experiments were conducted to study the effect mood could have on performance in a debug task. Validated mood-inducing movie clips were used to induce specific moods along two-mood dimensions: valence and arousal. The first study was conducted online. The results showed that arousal is a significant factor when considering programmer performance whereas valence was found to have no significant effect. The second study was a continuation study to validate the findings from the first study within lab conditions. The results were not able to confirm the findings of the first experiment. The reasons for these findings were explained accordingly. As mood was found to have an effect on a programmer‘s coding and debugging performance, this factor might be considered when developing a support system. The next step in the research was therefore to consider mood measuring in a non-interruptive way. The next two experiments were based around the hypothesis that ―moods can be measured from the keyboard and mouse interaction of the computer user‖. In the first experiment an application was installed on participants‘ computers to record their key presses and mouse clicks in a log file. Their self reported moods in intervals of 20 minutes were also stored in the same file over an average period of eight days. Correlations between participants‘ self reported moods and their keyboard and mouse use revealed that it might be possible to measure moods of the some of the participants. The second experiment took place in the lab, where participants were asked to perform programming like tasks while listening to ii mood inducing background music. Their moods were measured with a Galvanic Skin Response (GSR) meter whereas key presses and mouse clicks again were recorded in log files. The correlations between GSR measurements and keyboard and mouse interaction validated the findings of the experiment in the field that it might be possible to measure the mood of some users from their computer use. Analyzing participants‘ personality traits showed dutifulness and self discipline as indicators that a person‘s mood correlates with his/her interaction behaviour. Considering that mood has an effect on programmer performance and that it might be possible to measure mood in a non-intrusive manner, the last question to focus on was whether a computer-generated intervention could change a programmer‘s mood and consequently improve their performance. In the final experiment programmers had to dry run algorithms for 16 minutes with the expectation that a level of boredom would set in. After this the video clip instructed them to participate in some physical exercises. Participants continued tracing algorithms for 8 minutes after the intervention. Results showed that the mood change after the intervention coincided with a programmers improved ability to provide the correct output of the algorithms. Together these findings lay the foundation for developing an IDE that can measure the programmer mood in a non-intrusive way and make effective interventions to improve programmer performance

    Similar works