Skip to content

Free University of Bozen-Bolzano

Engineering Computer science Technology Event Society

Know the dark to stay away from it

How can unethical software engineering deceive users? Eduardo Guerra explains how raising awareness and encouraging avoidance of dark patterns by software engineers can protect users.

By Giulia Maria Marchetti

AI-generated image.
Image generated with AI.

School and university equip their students with a strong baggage of knowledge that they need in order to survive and thrive in the working environment. But are students really prepared for what is awaiting them after their studies? Are they really aware of the possible consequences and implications of their work? Eduardo Martins Guerra, researcher in Software Engineering at our Faculty of Engineering, kept asking himself these questions. To tackle this problem in his field and to try to guide the students in their future choices, he organised an interesting seminar named “8 Dark Patterns for Unethical Software Engineering”, which was presented by Cesare Pautasso, professor of Informatics at the University of Lugano. For those of you who have already heard the word software, but still cannot make sense out of it, a brief introduction to the topic might be of use. A software is a set of instructions or programs that is run on a computer and execute specific tasks. A software engineer is the one who develops software and keeps them running, always having in mind what the client and the users need from them.

Eduardo Martins Guerra, researcher in Software Engineering at our Faculty of Engineering.
Eduardo Martins Guerra, researcher in Software Engineering at our Faculty of Engineering. Photo: unibz

“As a software engineer, I develop software, and I teach my students how to do it. Once they enter the working world, they think they are supposed to programme whatever the clients ask them, since they are paid for that purpose. Actually, what is missing is the understanding that every software we develop can have great impact on society, which can be positive or negative depending on its applications. It is important that, aside from knowledge, we teach also some ethics and sustainability value, so that their work can be driven by positive intentions and can benefit society” explains Guerra.

Cesare Pautasso, professor of Informatics at the University of Lugano.
Cesare Pautasso, professor of Informatics at the University of Lugano. Photo: private

“The concept of pattern comes from architecture and is quite interdisciplinary: in the field of software design a pattern represents a structure, or a set of instructions, that can be used as a recurrent and adaptable solution for a common problem in a given context. On the other side of the coin there are antipatterns and dark patterns. While antipatterns are common and recurrent mistakes, dark patters are intentionally introduced to cause harm: they are actual solutions to a problem, but that solve the problem in an unethical way” explains Guerra. An extensive list of dark patterns can be found in the article “Dark Patterns for Unethical Software Engineering” by Prof. Pautasso. According to his work, dark patterns can be divided into five categories depending on their application: covert surveillance, monetization at all costs, digital fraud, ranking manipulation and unethical artificial intelligence practices, all having different unethical examples of software developments.

“One of my favourite examples, being a gamer myself, belongs to the “monetization at all costs” category and is called “pay-to-win”. Users are attracted by a free game and start to play it until they get used to it, spend quite some time playing it and progress in the game. Once they reach higher levels, though, users cannot win or cannot progress quickly unless they spend money to get upgrades or tools to overcome some of the obstacles in the game. In a way, users are tricked into thinking that the game is free to play, while in the end it is not, but users are not explicitly told so” explains Guerra. Other examples include digital frauds, like taking advantage of users who trust misleading URLs, and ranking manipulation, such as the ones where products are ranked based on unexplicit sponsoring rather than on their actual performance or liking.

"The problem is that some of the dark patterns are considered legal to a certain extent and users, being unaware of them and their functioning, can be easily deceived. In some cases, drawing a line that separates a legitimate practice from something that should not be accepted by our society is not straightforward. What is our role, as software engineers and educators, in this context?” Guerra asks himself.

Education, as it often is, appears to be the only answer. On the one hand, it is important to educate software developers in what the unethical behaviours are, their implications and how to avoid them. On the other, making users aware of the possible risks behind an app or a software may make them become more alert to possible frauds and misleading situations. By doing this, it is possible to draw the line together, making dark patterns less powerful and making software development a valuable tool to improve our lives.

Related people: Eduardo Martins Guerra