Aarhus Universitets segl

Top researcher detects the error before your software

The Professor of programming languages, Lars Birkedal has received DKK 11.900.000 with the purpose of solving one of the major challenges in Computer Science: software errors.

Lars Birkedal has just been awarded a Sapere Aude: DFF-Advanced Grant from the research career programme launched by the Danish Council for Independent Research.

Lars Birkedal’s research is concerned with something we all know: software errors. His research focuses on how to avoid errors and how to detect them before we see our programs crash.

The topic receives great interest and with the grant from the Danish Council for Independent Research we can now come a step closer to the solutions.

- Software bugs can be annoying for the individual user, but they are critical for the infrastructure of modern society. The importance is at level with clean water. Errors or lapses in software security constitute some of the most severe challenges for software systems. Errors may allow hacker attacks that can put the world to a standstill. With our tools software errors will be detected in the future before they arise. This is the purpose of the grant, Lars Birkedal explains.

He is in charge of the newly established research group within logic and semantics at the Department of Computer Science in Aarhus. The grant permits new postdoctoral and PhD positions, which shall further develop existing mathematical models and logics to describe and analyze software with the aim of improving it.

- Our work will provide the basis for the development of practical software tools that can assist programmers to develop correct software, he says.

Imagine all sorts of errors

According to Lars Birkedal their basic research area deals with how complex it is to develop software that works as intended. Software is made up of complex systems, and we use it everywhere. To control aircrafts, cars or financial transactions. It must always work correctly, but it is complex and difficult to avoid errors.

- You underestimate how difficult it is to develop software programs. You must know how the program runs on a technical level and at the same time ensure that it runs efficiently and without errors. In addition, software programs have become much more complex. You have discussed it in theory, and now you experience it in practice. You must allow for many imaginable and unimaginable situations, he says.

The classic example is the rocket that explodes shortly after launch or car manufacturers that have to withdraw cars due to software errors. And errors you would have preferred to find before they occurred.

- Therefore, our research is subject to great interest. A way to help avoiding errors are better tools for analyzing programs and how they work. To do this you need detailed mathematical models, he explains.