Wallenberg Academy Fellows

Mathematics, logic and computer science – building weapons against bugs

Modern computer software is so complex that it is almost impossible to design or improve without making a mistake. The result is that programs crash or do not work as they should. Laura Kovács is developing methods to teach computers to look for errors in other computers.

As if it were not enough that it is hard, not to say impossible, to design and develop software without making errors. It is also difficult to find the errors, even when you know they are there. But in 2009 computer scientist Laura Kovács managed to design a method that made it easier, a method that is now used by more than 1,500 researchers throughout the world. She calls it “symbol elimination”.

“Software behavior is based on innumerable components, but the error one is looking for might not contain all of them. Symbol elimination involves sifting out everything that works, all symbols that are not relevant. The method demonstrates mathematically which parts of the software work, and explains mathematically why other parts do not,” Laura says.

Finding the necessary properties in the code

As a Wallenberg Academy Fellow, she is refining the method. One aim is to enable programmers to avoid introducing new errors when they develop existing software.

A computer program may be based on thousands of lines of code, but using Laura’s methods it is possible to analyze the code and find a handful of necessary properties that can be described mathematically. If the new code has those properties, it will work. If it does not, it might work, but this will have to be verified.

Some of these mathematical properties may have been introduced intentionally by the original programmer. But not all of them.

“We are intelligent enough to write computer programs so large and complex they can actually acquire characteristics that we cannot foresee. In addition, new software proceeds down a long production chain, in which only very simple criteria are usually passed on to the next programmer,” Laura explains.

Her methods combine mathematics, computer science and logic. Among other things, she is working with two concepts known in mathematics as “group theory” and “Fibonacci numbers”.

“I design software that can draw its own logical inferences. Many of the problems I am dealing with can be solved by mathematicians or logicians, but in the real world they need to be solved by other people, with computer support.”

Academia driving industrial collaboration

It is quite clear that Laura’s work may be of value to the industry. But she is still in the basic research phase, and she herself has had to seek industrial partners. She points out that computer science is a relatively new and rapidly developing field. Sometimes it is difficult for industry to keep up. Moreover, mistakes can be expensive for industry, whereas it is a necessary part of academic research to test theoretical ideas that might not work.”

“I would really love it if industrial partners began to approach us. I have worked with Intel and Microsoft to evaluate small parts of their code that they have shared with me, and with the French aviation company Dassault Aviation on aircraft safety systems. It is incredibly interesting working with real code, and seeing whether it works in the way the programmer intended,” Laura enthuses.

She observes that the industry has become less secretive about its software development, so the future looks hopeful.

“I am enormously proud to have been admitted as a Wallenberg Academy Fellow; it was an unexpected honor. I arrived in Sweden to work at Chalmers in 2013, and this award makes me feel a part of the Swedish research community. It will open doors for collaboration, both within the academic world and with industry.”

Responsible for younger researchers

Laura has liked mathematics ever since she was a schoolgirl, but she also liked history, literature and many other subjects. It was difficult to choose. In the end she elected to study mathematics and computer science. She was fascinated by the large number of unresolved questions, which led her into the world of research. Just over a decade later many of those questions have been answered – but just as many new ones have arisen.

“It’s one of the things I like about being a researcher. You are your own boss, constantly facing new challenges.”

Laura was born into a family belonging to the Hungarian minority in Romania. She grew up in the Romanian city of Timisoara where she also began her higher education. She has researched at several institutions in Austria, Switzerland and Japan. But as she points out, it is hard to secure a permanent position in the academic world. She was very pleased to be offered an associate professorship at Chalmers University of Technology in Gothenburg.

“The research team here is really good. I felt that my competence fitted in well, and that I could learn a great deal from the department. It is also unusual to have strong academic and industrial research in the same place, but Gothenburg is one of those places.”

Laura likes collaborating, listening to others and trying to find solutions to their problems.

“But I find supervising younger researchers a challenge. I still feel young myself – that my ideas are at an early stage. This makes it difficult to delegate them to PhD students, when I am not certain that they will be able to obtain clear results and answers. What if they get stuck? Then we will have to plot a new course together. It’s quite a responsibility.”

Text Lisa Kirsebom
Translation Maxwell Arding
Photo Magnus Bergström