Alberto Bacchelli pursues a clear goal with his research: to make developers more effective and to improve software quality. With his team, he sometimes takes new paths to achieve big changes with small steps.
The stereotype of computer scientists as shy and introverted people is still around. Getting to know Alberto Bacchelli is the best way to dispel this prejudice. The Professor of Empirical Software Engineering is a charming person who captivates everyone with his calm and deliberate manner and his hearty laugh – and a man with a wide range of interests. Growing up in Bologna, Alberto Bacchelli developed passions for a wide variety of things at an early age. In his youth, he played basketball ambitiously. He also has a great fascination for music, especially composing. That is why he studied music composition at the conservatory for two years. "I liked designing complex things and was attracted by the mathematical and logical structures behind music", Bacchelli explains. However, his fascination with computers and programming never left him. "Even as a little boy, I loved programming with my best friend. Back then, I wanted to become a video games designer", Bacchelli laughs. It was this passion that later led him to choose a degree in computer science.
Bacchelli, who has a down-to-earth nature, mentions in passing that he received two offers after completing his doctorate. One was a position as an assistant professor at Delft University of Technology in the Netherlands; the other offer came from none other than tech giant Amazon. "Deciding was anything but easy. But the chance for a position as an assistant professor right after the PhD program probably doesn‘t come around twice in a lifetime", says the 38-year-old. However, he never expected to become a professor one day. Today, Alberto Bacchelli conducts research in Empirical Software Engineering: "I really want to understand what difficulties there are in software engineering and what can be improved." A study on code review he conducted with Microsoft showed how unpredictable research can be. Code review involves manually checking changes to software code for errors. That is often time-consuming and inefficient; he therefore set out to investigate how to improve this widespread software practice. "But in the study, the main finding was the large discrepancy between practitioners’ expectations and outcome. This was new and so important that I decided to dedicate a separate line of research to understand and improve code review." To approach the topic from different perspectives, his team also includes a psychologist who looks at the topic from a social perspective. His research has shown him many times that the devil lies in the details: for example, there was a study about software security where programmers had to find security holes in the code. "We prepared a very simple piece of code, where the security holes were clearly visible. Yet, when we asked participants to generally look for bugs in the code, they missed 50 percent of these security problems, regardless of how much time they spent. However, when we asked them to look for security holes, this tiny change increased the likelihood of them finding the problems by as much as eight times."
Bacchelli sees major challenges in the rapid pace of digitization. "We often do not realize it, but software is everywhere. However, there is a lack of people to develop it." In Europe alone, there was a shortage of one million ICT professionals in 2020. "I therefore ask myself, what can I do about it?" Through his work, Bacchelli tackles the problem from two angles. On one hand, he teaches his students how to become solid software professionals: practitioners able to develop high-quality, dependable software. On the other hand, he develops theories, methods, and tools to understand and make progress on how engineers write and maintain software. Because he wants his research results have a lasting impact in software development practice (and his mother always told him never to rest on his laurels), Bacchelli’s next goal: writing a book on code review. "Maybe that way I can do my part to help students, researchers, and practitioners explore this subject and inform their work."
Author: Fabienne Schumacher
Photos: Caroline Krajcir