Can an AI bot revolutionise software engineering?


19 Nov 2024

Image: Jacek Dąbrowski

Lero’s Dr Jacek Dąbrowski explains why understanding the needs of software users is so important, particularly with the rise of AI-powered systems.

With the goal of revolutionising software engineering using artificial intelligence (AI), Dr Jacek Dąbrowski has his work cut out. Not only this but he also wants to make AI systems more trustworthy and reliable too.

Before joining the University of Limerick and the Lero Research Ireland Centre for Software, Dąbrowski completed a PhD in a joint program between University College London in the UK and Fondazione Bruno Kessler in Italy, where her explored how to exploit online user feedback to support software engineering practices. He also completed an MSc and BSc in electrical engineering at Warsaw University of Technology in Poland. He has also worked at Accenture Consulting, where he was responsible for requirements engineering, software system design and digital transformation.

In the future, Dąbrowski hopes to see greater collaboration with industry partners to develop practical innovations in the area of requirements engineering. “With my current research, I aim to contribute to this goal,” he says.

Tell us about your current research.

My current research aims to revolutionise software engineering by developing a software agent that can communicate with both developers and users to create better software products that meet their needs. This agent will help tackle the challenges of collecting and analysing large amounts of online user feedback, especially for popular apps with millions of users.

By utilising advanced language models, my research intends to introduce a new approach that fosters social interactions and improves the process of engineering requirements.

In addition, I aim to create methods that enhance the development of AI-powered systems, making them more trustworthy and reliable.

Why is your research important?

Fred Brooks, the Turing Award laureate, once said, “The hardest single part of building a software system is deciding precisely what to build.” This challenge becomes even greater when software is used globally by millions of people with diverse cultural expectations. Understanding users’ needs and translating them into clear, detailed requirements is crucial, especially with the rise of AI-powered systems, where reliability and trustworthiness are critical.

My research focuses on revolutionising requirements engineering – the process of gathering and defining these requirements – to ensure that modern software, particularly AI-powered systems, meets user needs.

‘I love discovering new ideas’

The novel requirements engineering (RE) agent has the potential to become a virtual assistant, facilitating a range of RE tasks, facilitating more ‘natural’ and ‘intuitive’ interactions with humans compared to the previous analytics tools. The agent may contact users to capture or clarify their requirements. It may document conversation and generate structured requirement specifications. The RE agent can help to better incorporate user feedback into RE and improve software alignment with user needs, leading to improved user satisfaction and software adoption. Stakeholders can engage with the RE agent at their convenience, eliminating scheduling constraints and delays associated with traditional meetings.

What inspired you to become a researcher?

I never explicitly decided to pursue a career in research; I think I was simply living the life of a scientist, focusing on solving problems and intellectual challenges. At the age of seven, I began playing with computers, particularly DOS (an older operating system), which sparked my fascination with programming.

Click here to listen to Future Human: The Series.

Throughout my academic journey, I explored various tech fields such as robotics, control engineering and software engineering, all aimed at solving problems to improve everyday life.

A pivotal moment in my career occurred during my international exchange at Aalto University in Finland, where I conducted research for the first time and published my first research paper, which became the foundation of my master’s thesis.

What are some of the biggest challenges you face as a researcher in your field?

Researching software engineering comes with several challenges, mainly because the field evolves rapidly. Keeping up with the latest research can be tough since new ideas are published daily across the globe. It’s important to accept that it’s impossible to read every new paper, so finding the right balance is key. Additionally, the rise of new technologies such as AI-powered software, means researchers must constantly learn new things. While challenging, this continuous learning is what keeps me motivated in research – I love discovering new ideas.

Are there any common misconceptions about this area of research?

I have encountered two major misconceptions about RE. The first misconception is that RE is useless as everyone knows what they want from the software being developed. However, the reality is quite different: the cost of fixing incorrect requirements has led to the failure of numerous industrial projects. The second misconception is that RE is boring for tech enthusiasts because it focuses more on interacting with people than on coding. My research challenges this view. I am developing several prototypes that leverage cutting-edge technologies to support RE; in fact, RE is multidisciplinary, integrating concepts from computer science, social science, psychology and human-computer interaction.

Don’t miss out on the knowledge you need to succeed. Sign up for the Daily Brief, Silicon Republic’s digest of need-to-know sci-tech news.