Software programming and Biases transfers

This is a general topic that would study aspects related to biases that software engineers have. Many interesting things can be done here, such as studying programmers and their programming practices, and maybe looking at software development processes and cultures. This is a topic at the intersection of software engineering and psychology.

Ask for discussions with the supervisor for more information or variations of the project. Email to arrange an appointment at the 9th floor.

Short description

We have recently discovered the concept of Biases transfers from programmers to programs; detailed in this article.

Biases are manifestations of incorrect judgments resulting from cognitive tendencies that humans exhibit in situations of uncertainty or when there is insufficient information but a judgment must be made nevertheless.

The topic needs to look at how to apply the methods that we have developed to software engineers and programmers, studying their work environments and habits. The company culture can influence the programmer's thinking and thus induce biases (think of someone working in the Google campus or in a small startup in Forskningsparken).

One would investigate, using empirical and HCI methods, different forms of programmer biases, maybe categorizing and exemplifying these in various ways, developing cognitive frameworks, looking at choice models and applying these to study programming cultures.

One can start by choosing a software development company or more (the supervisor can help with that) and look at the programming styles and processes, and how/whether the users exhibit any biases. Is it that the tools used in the development process are useful for discovering and removing biases? We could also make a, let's call it, 'technological experiment' similar to how psychologists do, but in or case involving software development tools like from DevOps tool-chains, or IDEs, etc.

We are interested in how external aspects and user characteristics contribute to forming biases in programmers and how these biases are being manifested and whether are being transferred into the programs they create.

Learning outcomes

The student will learn about software development tools and practices as well as some relevant psychology aspects. There are plenty of courses at IFI relevant for software development like IN1030 , IN2000 , IN5140 , but unfortunately no psychology relevant introductory courses at IFI as far as we know, but only some touch tangentially (e.g. IN1060, IN1050 talk about users, IN5010 touches on social aspects).

However, one of the supervisors is expert in psychology, another in programming, and yet another with industry software development experience; so you will be well guided with books and other reading resources.

Tags: bias, user studies, software development, programming cultures
Published Sep. 5, 2020 12:55 PM - Last modified Sep. 5, 2020 12:55 PM

Scope (credits)