Researchers develop a technique that detects weaknesses in software testing
We have had a chat with Professor Benoit Baudry and Professor Martin Monperrus about their novel testing technique.
Could you please explain what the work entails and how it can impact society?
”Our work is a novel testing technique to increase the reliability of software systems. Before being published in a magazine, it appeared in the peer-reviewed scientific journal Empirical Software Engineering .
This technique can already be put in the toolbox of software engineers in Swedish companies. It applies to various application domains. For instance, we have used it on the videoconferencing system Jitsi. Jitsi is comparable to Zoom and Microsoft Teams, with key features being end-to-end encryption, open-source codebase, and concise security and privacy policies, making it the open solution of choice for the Swedish public sector such as Arbetsförmedlingen. In October 2020, we analysed Jitsi Meet’s test suite with our technique and identified several problems that were fixed subsequently.
Recently, our technique has also been used at Spotify in the context of the
Master thesis of John Kvarnefalk
What are you working on now?
”The technique we presented in the magazine article detects weaknesses in the way software is tested, which helps developers focus on specific issues to improvement reliability.
Our current work goes one step further, with a technique that assists the developers in the reliability improvement process. This new technique automatically observes how an application behaves in production and turns these observations into new tests. These new tests are then proposed to the developers who can use them or adapt them to improve reliability.”
What do you think is the most exciting research going on right now within your field?
”An effective collaboration between software developers and automatic techniques, also known as software development robots. The right balance between automation and human expertise can boost the creativity and the productivity of software developers, to build resilient and safe software applications.”