Welcome, Michalis Kokologiannakis
In this interview, Professor Kokologiannakis briefly discusses his research into automated software verification, his vision of teaching as an interactive process and the role models that inspired him to become an engineer. He also shares advice for young people considering an academic career in computer science, and reveals a book he thinks every researcher should read.
![Professor Michalis Kokologiannakis](/news-and-events/spotlights/infk-news-channel/2024/08/welcome-michalis-kologiannakis/_jcr_content/articleLeadImage/image.imageformat.carousel.422576922.png)
In December 2023, Michalis Kokologiannakis was appointed as Tenure Track Assistant Professor of Computer Science at ETH Zurich. He had previously completed his doctorate at the Max Planck Institute for Software Systems in Kaiserslautern, Germany. Michalis Kokologiannakis’ main area of research is programming languages, particularly formal software verification. Among other things, he develops advanced algorithms that are very efficient at analysing large numbers of programme executions.
Professor Kokologiannakis, how do you feel about becoming an ETH Zurich professor? What are you looking forward to the most?
It is a dream come true – had you told my undergraduate self that I would end up in a place like ETH Zurich, I don't think I would have believed you. I consider myself very fortunate in that regard. The part I am looking forward to the most is creating a group, interacting with students, and seeing the fruits that our collaboration will bear.
Your previous position was as a postdoc at the Max Planck Institute for Software Systems. Why did you choose to move to ETH Zurich?
Perhaps a more interesting question would be why would anyone choose not to come to ETH? But, on a more personal level, one major reason why I chose ETH is that its values align well with my research philosophy. Apart from fostering an excellent environment for producing top-quality research, since its inception, ETH has been in service of society. And this closely corresponds to the way I perceive research: I strive for my research output to be practical – also for non-academics – not just in terms of algorithms, but also in terms of produced tools and artifacts.
Looking back to your childhood and teenage years, what inspired you to get into computer science?
Curiosity. I remember being in primary school and wondering how it's possible for electric current to be "transformed" into an array of colors on my computer screen. Soon enough, I knew I wanted to be an engineer, and I went on to study electrical and computer engineering, where I learned a fair amount about this process: from electric fields and electronic materials to computer architecture and algorithms and complexity. But in the end, what fascinated me the most were the algorithmic principles underpinning many problems in different fields, which is how I ended up doing a doctorate in computer science.
Did you have any role models growing up?
As far as research and computer science is concerned, I wouldn't really say so. Of course, I always admired the great physicists who shaped 20th century physics, but these do not really fall into the definition of a role model. Their contributions seemed too important to be relatable. It wasn't until the first year of my undergraduate studies when one of our professors talked to us about research in more "approachable terms", and, unwillingly, put the research bug in my ear. Shortly after, I knew the only job I would like to get afterwards was as a doctoral student.
“I strive for my research output to be practical also for non-academics – not just in terms of algorithms, but also in terms of produced tools and artifacts.”Professor Michalis Kokologiannakis
Tell us about your research interests. What are the most fascinating questions you are working on right now?
I am generally interested in programming languages and verification, with a special focus on automated reasoning and computer-aided verification. Lately, I have been working on developing algorithmic techniques that enable the scalable verification of concurrent data structures. Such structures are essential building blocks for practically all concurrent software and incorporate intricate synchronization mechanisms to achieve good performance. Coming up with techniques that can deal with their complexity and verify their implementations effectively is challenging, but also extremely interesting.
How would you explain the societal impact of your research to a non-expert?
Software is used in an increasing number of critical systems: from smart cars and rockets to pacemakers and radiation therapy systems. However, software often fails, and when it does the consequences can be fatal: the Ariane 5 rocket self-destructed in its maiden flight due to a software bug, and the Therac 25 radiation therapy machine killed at least 6 patients due to a software design error.
My research is on automated software verification, which aims to apply rigorous, maths-based techniques to establish the correctness of software by design and automatically so that errors like the above never occur.
How do you expect ETH Zurich to stimulate your research career? Are there any particular collaborations you are looking forward to?
ETH Zurich poses a unique opportunity in terms of funding, infrastructure and collaborations, all of which contribute to an environment of academic and scientific excellence. Having access to these resources will allow me to focus on research and teaching with minimal distractions. In terms of collaborations, I am particularly looking forward to combining forces with the Institute for Programming Languages and Systems. I hope together we will be able to tackle existing challenges in verification, and see new ones arise.
What is the greatest research challenge you want to tackle in the next few years?
My ultimate goal is to develop "push-button" techniques that can fully verify full-fledged implementations of large-scale concurrent programs like distributed systems. While we are currently far from achieving this goal at the scale I described, having full verification as the ultimate goal has shaped the way I design not just algorithms, but also tools that aim to be integrated into standard developer workflows.
What do you like most about teaching?
Its interactive nature. Teaching is a dialogue between the teacher and the student, and, done right, it can even transmit passion for a subject. Although I am not an experienced teacher, I envision an interactive teaching experience at ETH Zurich, one that also exposes students to cutting-edge research software developed by my group.
Do you have a message for ETH Zurich students who could consider visiting your lectures or carrying out research with you?
If any combination of automation, programming languages, verification and spooky compiler optimizations sounds interesting, come talk to me!
“I envision an interactive teaching experience at ETH Zurich, one that also exposes students to cutting-edge research software developed by my group.”Professor Michalis Kokologiannakis
What advice would you give young people considering an academic career in computer science?
Be curious, persistent and resilient. And don't forget to enjoy the process of doing research; this is what makes research fun after all.
What do you enjoy doing outside of work?
I play the electric guitar when I find the time. In the past few years, I've also picked up skiing, at which I hope to get better in Switzerland.
To wind down and entertain yourself, which do you prefer: reading, watching a movie, listening to music?
I usually enjoy just taking a walk. It helps me put my thoughts in order, and it also doubles as exercise.
Is there any particularly insightful book, film or otherwise that you have enjoyed lately and would like to recommend to our readers?
Not lately, but I strongly recommend "Style: Toward Clarity and Grace" by Joseph M. Williams and Gregory G. Colomb. No matter whether you end up in industry or academia, you will have to write, and your success will largely be determined by how good you are at it. This book is a guide to clear communication, and I find its advice especially useful for technical writing.