Programming Languages and Systems @ University of Tartu
The goal of programming languages and systems research is to develop the theory and practical techniques that lead to more productive programming languages, including their runtime systems and supporting tooling. Specifically, our work ranges from foundational semantic techniques at the heart of formalising programming languages to developing tools that facilitate the verification and rapid development of software. While reasoning about code requires solid mathematical foundations, the research in this group have also resulted in practical tools that make software safer and easier to develop, such as Goblint and JRebel.
Our group is also responsible for teaching all bachelor level programming courses at the university as well as many widely successful MOOCs for teaching programming to the wider public in Estonia. We are, therefore, also interested in research on how to teach programming more effectively. We have our own Python IDE, Thonny, which is ideal for novice programmers.
Active research projects
The chair is lead by Prof. Varmo Vene. Active research projects are listed below. These are not separate research groups as many members are involved in multiple projects. For a full list of staff and contact information, see our institute web page.
- MOOC research (Eno Tõnisson)
- Reducing Software Vulnerability (Vesal Vojdani)
- Thonny development (Aivar Annamaa)
- Educational Software (Rein Prank)
- goblint, our static data race analyzer for multi-threaded C, co-developed with TU München.
- ZeroTurnaround, the startup founded by Jevgeni Kabanov that aims to increase programmer productivity by improving the deployment of code.
- Plumbr, the startup co-founded by Nikita Salnikov-Tarnovski for discovering Memory Leaks in Java.
- Alvor, a program analyser for finding SQL bugs in Java code.
- Thonny, a Python IDE for learning programming.
So... are you interested in rigorous software development? Want to research better ways of developing quality code? Do you find yourself googling "python lambda function list comprehension" or "mutex lock"? Then you're speaking our language! We did functional programming long before the cool kids started to play with it. We were into Yampa before RxAndroid was even conceived.
Join our group!
The future is now.