Publication date: 
2023/06/06
Nowadays, continuous research on programming languages is essential for the development of artificial intelligence. Prof. Kirsch, the head of the Programming Research Laboratory at Faculty of Information Technology of Czech Technical University in Prague (FIT CTU), applies his experience from University of California at Berkeley in Silicon Valley and University of Salzburg in Austria. He and his fellow researchers and students are looking for ideal solutions to apply innovations in programming languages to the development of artificial intelligence as efficiently as possible.

Picture

Programming languages allow programmers to interact with artificial intelligence and give it tasks to perform. This is called machine learning. Artificial intelligence developers must master programming languages and respond to their innovations, which occur with almost hourly regularity. At FIT CTU, researchers and students have access to the state-of-the-art Programming Research Laboratory (PRL@PRG), where university students from all over the country can engage in research and search for solutions under the guidance of Prof. Christoph Kirsch.

"Our vision is to create cutting-edge research in programming languages and systems at FIT CTU. Our projects are open to talented and highly motivated students and postdocs from our faculty and beyond," says Prof. Kirsch: "Our research faculty offers not only a state-of-the-art laboratory, but also experts in their field. Compared to Silicon Valley, where a scientist is just a worker and competition is huge, Prague offers a completely different and friendly atmosphere that is motivating for ambitious young scientists. In combination with experienced experts, our faculty is the ideal breeding ground for groundbreaking projects."

Research on programming languages is already a fixed part of FIT CTU. The faculty had the honour of being the only one in the Czech Republic to receive an Advanced ERC grant worth CZK 77 million for programming language research in 2015.  The research, in which Prof. Kirsch participated together with scientists led by Prof. Vitek, came up with a solution to drastically reduce the cost of updating programming languages while avoiding the need to develop completely new languages every time there is a shift in hardware trends or programming methodology.

Hand in hand with quality research also goes quality teaching of students at FIT CTU. They can choose from several courses focused on programming language modelling, compiler development and formal methods. Prof. Kirsch will thus find himself both as a researcher and a teacher at the faculty.

"It took me twenty years to learn to teach well. The more trivial the subject you teach, the more experience you need to teach it properly. At Berkeley, only the most respected and experienced professors teach introductory courses. I was afraid to speak in front of people, but I ended up loving it. I also started working on my own textbook," says Prof. Kirsch.

In the lab, researchers are currently working on a project focused on symbolic execution and model checking of software. This is a systematic examination of program behavior to detect bugs and performance problems that are difficult to find.

"The challenge is to make our methods work for real software. To this end, we are developing an open-source software tool called nunicorn that anyone can contribute to," says Prof. Kirsch of the current project.

Christoph Kirsch is a professor at the Department of Computer Science at University of Salzburg, Austria, and head of the Programming Research Laboratory (PRL@PRG) at CTU FIT. He worked at the Max Planck Institute for Computer Science in Saarbrücken, Germany. He was a postdoctoral fellow at the Department of Electrical and Computer Engineering at the University of California, Berkeley, Silicon Valley, where he later served as a visiting researcher and visiting professor in the Department of Civil and Environmental Engineering. Among his greatest achievements are the development of embedded programming languages and systems such as Giotto, HTL, and Embedded Machine.