Portrait of Jürgen Börstler.

As one of the first ELLIIT-associated researchers since 2010, Jürgen Börstler has had a renowned career in Software Engineering. We talked to him about human factors in software development, issue management, and AI-generated podcasts based on research papers.

Jürgen Börstler, Professor of Software Engineering at the Department of Software Engineering at Blekinge Institute of Technology, has been a member of the ELLIIT Recruited Faculty since 2010. Additionally, he has been a member of the ELLIIT Program Board since 2012. It is fair to say that Professor Börstler has played a significant role in the development of ELLIIT.

What research areas are you particularly interested in?

I am very interested in code quality, human factors in software development, and empirical research methods.

Where did you find your interest in these specific areas?

I’ve always been intrigued by the phenomenon that it is quite easy to point out certain “qualities,” or the lack thereof, in a specific piece of code. However, when it comes to defining or even measuring these “qualities,” we are still fumbling in the dark. In the research on software process improvement, there is another phenomenon that I find interesting. We, as researchers, often assume that improvements will be adopted, since software development organizations act as rational decision makers. However, it often happens that improvements are not adopted, although the organizations wants to and is aware of the advantages. This is where human factors and acceptance behavior comes in.

Could you please summarize your own work within these research area?

Regarding code quality, we have (among others) interviewed developers how they perceive and define code quality what they suggest to achieve high quality. Developers consistently pointy out readability, comprehensibility and structure as key quality indicators. They also point out that metrics are needed that are better aligned with developers’ perceptions of code quality. Existing high-level product qualities (as in most quality standards) do not mean much to them when it comes to specific pieces of code.

Regarding human factors, we have investigated acceptance models and theories and their applicability in the research of acceptance behavior in the context of software development. Our conclusion was that considering these theories would help improve the impact of software engineering research. However, the theories would need to be adopted to the software development context and validated more thoroughly in this area.

Left PhD student Muhammad Laiq. Right Jürgen Börstler.

Do you have any active projects within ELLIIT?

I’m working in the project “Quality Assurance in Continuous Software Engineering” together with colleagues from BTH and Lund (PI: Nauman bin Ali, BTH; co-PI: Emelie Engström, LU). In this project, we are working with issue management and test case quality. In both topics, PhD students are the main drivers and, in both topics, we are collaborating with companies.

In the issue management project, we use machine learning to screen and categorize incoming trouble reports. Such trouble reports can roughly be categorized into two groups. Either they relate to defects in the software (bugs) that need to be resolved by developers who change the software, or they relate to issues that do not require a change in the software and can be resolved by other people. Examples of issues that do not require a change in the software, are misunderstandings of the functionality of the software, or the usage of incompatible software versions.

In practice, most trouble reports are forwarded to developers. It might take them quite some effort to find out whether a trouble report needs to be resolved by a change in the software. Our software helps companies to detect early on whether or not a trouble report pertains to a software defect. This means that trouble reports can be forwarded to the company’s personnel that is best suited to resolve the reported issue.

Regarding the work on test case quality, we have developed a tool that identifies so-called eager tests, i.e., tests that do more testing than needed. Doing too much means that when an eager test fails it can be difficult to find out why exactly it failed and which parts of the software need to be investigated to find this out.

Do you have any other relevant projects such as a blog, podcast, video lecture, or similar?

There is an ELLIIT Tech Talk video on software quality by me and one of my PhD students Vi Tran (link below).

Recently, I created three podcasts using NotebookLM by Google, based on some of my recent research papers. These podcasts are entirely automatically generated using Google’s AI technologies, with only the articles as input. Personally, I was pleasantly surprised by how well they turned out. They are between 9 and 17 minutes long and entertaining to listen to (link below).

Podcast 1 (13:26 minutes) is mainly based on the following paper: Börstler, bin Ali, Svensson, Petersen (2023). Investigating acceptance behavior in software engineering—theoretical perspectives. Journal of Systems and Software, 198, 111592.

Podcast 2 (9:35 minutes) is based on the following paper: Börstler et al. (2023). Developers talking about code quality. Empirical Software Engineering, 28(6), 128.

Podcast 3 (17:29 minutes) is based on the following paper: Börstler, bin Ali, Petersen (2023) Double-counting in software engineering tertiary studies—An overlooked threat to validity. Information and Software Technology, 158, 107174.

Is there anything else you’re working on that you’d like to highlight?

I’m very interested in educational aspects of computer science and software engineering and I’m regularly attending conferences in this area.

And finally, what do you enjoy doing in your free time outside of academia?

Fishing, travelling/exploring new places.

Contact and more

Read more about Jürgen Börstler’s research and projects, and find contact information here.

Previous Meet the Recruited Faculty

See more interviews from our series Meet the Recruited Faculty here.

ELLIIT Tech Talk

Watch the ELLIIT Tech Talk video #10 on software quality by Jürgen Börstler and Vi Tran here.

AI generated podcasts

Listen to the three AI generated podcasts based on Jürgen Börstlers research papers here.