Every day we depend on computer software working correctly. Not only when we use laptops or mobile phones - even when we board a plane, transfer money or simply rely on the power supply, we depend on complicated software.
The search for errors in this software has long been automated: There are computer programs that check other computer programs for errors. But who analyzes the software analysis tools? Prof. Maria Christakis from the Institute for Information Systems Engineering at TU Wien is dealing with this highly difficult question. She has now been awarded an ERC Starting Grant by the European Research Council (ERC) - one of the most prestigious and highly endowed grants in the European research landscape.
Programs that check other programsIn particularly critical areas - such as the control of an aircraft or a nuclear power plant - it is not enough to know that the software has not made any mistakes in the past. There should be proof that the software is error-free and behaves correctly in every conceivable situation. Today, program analysis tools are used for this purpose, which examine computer code on the basis of formal logic. In certain cases, one can then prove with mathematical precision that a certain code is indeed absolutely error-free.
But who analyzes these analysis tools themselves? "Program analysis tools today are highly complex - the probability that they themselves contain any errors is therefore high," says Maria Christakis. This can lead to false or misleading results - for example, the diagnosis that the examined code is correct, although it still contains errors.
Generating suitable tests automaticallyIt is hardly possible to examine the flawlessness of such an analysis tool with conventional methods - the tools are so complex that it would take far too long. Maria Christakis therefore chooses a different strategy: instead of verifying the programs with mathematical-logical precision, one can try to automatically create test situations for these programs. "This automated creation of tests can detect program errors very effectively," explains Maria Christakis. "However, the methods for this application domain are still in their infancy."
But that is about to change: With the "MirandaTesting" project, which is now funded by the ERC grant, Maria Christakis and her team want to develop a systematic approach for testing a wide range of program analysis tools for the first time. The aim is to make these tools more reliable, and thus the software we rely on every day will also become more reliable - especially in high-risk areas where any mistake could have serious consequences for people, the environment or critical infrastructure.
Maria ChristakisMaria Christakis studied computer science at the National Technical University of Athens. She then completed her PhD at ETH Zurich in 2015. Afterwards, she moved to the USA to do research for Microsoft. Further positions followed at the University of Kent and the Max Planck Institute for Software Systems in Kaiserslautern, before she was appointed professor at TU Wien in autumn of 2022.
Maria Christakis has already won a number of prizes in her young career - including the ETH Medal for outstanding doctoral theses (2016), as well as highly endowed prizes from Facebook (2017) and Google (2022). Now the ERC Starting Grant has been added - endowed with around 1.5 million euros. The ERC Starting Grant is awarded to outstanding research talents who are still at the beginning of their scientific career but have already shown special achievements.