Meet the members of the section
Programming Languages and Theory of Computation (PLTC)
Welcome to the PLTC Section. We conduct research in programming language technology and in the theory of computation. Much of our work involves topics in the intersection of programming language theory (e.g., algorithmic aspects of programming and formal verification), and applications (e.g., computer security and privacy, systems, compiler technology, high-performance computing, distributed ledger technology, and fintech).
Research in PLTC is conducted by individual researchers, working in groups or teams, perhaps joined with other research groups or individuals inside or outside University of Copenhagen. In the PLTC section, we have identified multiple research groups. Each individual researcher may or may not be part of several groups.
Decentralized Systems
We research and develop foundations, technology and applications of efficient and secure networked/distributed computer systems controlled by multiple independent principals. Areas of interest include blockchain and distributed ledger technology, event-driven architectures, large-scale transaction processing and analytics (Big Data), streaming and real-time data processing, domain-specific languages embodying domain knowledge and deep computer science techniques, digital and smart contract technology, and more. (Fritz Henglein, Omri Ross)
Security & Privacy
We work primarily on software-based security and privacy preservation techniques and applications. Emerging research topics are quantum cryptography and compositional safety and security models for industrial systems. (Andrzej Filinski, Thomas Jensen, Ken Friis Larsen, Boel Nelson)
HOT Lab
We design and develop theoretical and practical techniques for implementing and analysing advanced Higher-Order and Typed programming languages. We maintain and develop Moscow ML and MLKit, two Standard ML compilers, and conduct research into the development of advanced optimisation techniques, including region-based memory management, techniques for reactive web-development, and domain-specific languages. (Martin Elsman, Ken Friis Larsen, Torben Mogensen)
Program Inversion and Reversible Computing
We study reversible computing with a focus on garbage-free computation models and design of programming languages in these. Relations to other areas include IT-security, computer systems, and quantum computation. (Robert Glück, Torben Mogensen, Michael Kirkedal Thomsen)
Programming Language Theory and Technology
Our research covers theoretical and practical research of programming languages with a focus on automatic program optimization, analysis and transformation. (Thomas Jensen, Fritz Henglein, Martin Elsman)
Data-Parallel Programming for Modern Architectures
We conduct language and compiler research, particularly with respect to using functional techniques for generating efficient code for modern high-performance architectures, including GPUs and multicore CPUs. (Troels Henriksen, Cosmin E. Oancea, Martin Elsman, Ken Friis Larsen, Fritz Henglein)
Probabilistic Programming
In the the deep probabilistic programming group, the PLTC section hosts a team of exceptional researchers who specialize in deep probabilistic programming. This cutting-edge field combines the rigor of Bayesian statistics with the versatility of deep learning to tackle a wide range of applications. The group’s research spans several areas, including the development of new Bayesian inference techniques based on Stein variational inference, as well as the application of high-performance computing methods using the in-house developed FUTHARK language. We also investigate various applications in bioinformatics, such as protein structure prediction, and work with industry partners to develop AI-driven vaccine design and manufacturing solutions. The group is actively involved in the advancement of two popular deep probabilistic programming languages, Pyro and Numpyro. With our expertise and resources, we aim to push the boundaries of this exciting field of probabilistic machine learning and make valuable contributions to the scientific community. (Thomas Hamelryck, Fritz Henglein)
Financial Transparency
The Financial Transparency Group is an interdisciplinary research group that promotes applied multidisciplinary research with industry partners addressing computational challenges in the financial industries focused mainly on making financial markets more transparent and inclusive. (Omri Ross)
Quantum Programming
The Quantum Programming Group studies the design and use of programming languages in the context of quantum computing. (James Avery, Michael Kirkedal Thomsen, Fritz Henglein, Thomas Jensen)
We are responsible for a subset of the courses on the BSc programmes in Computer Science, Computer Science and Economics, Machine Learning and Data Science, and Communication & IT. We are also responsible for courses on the MSc programme on Computer Science. In particular, we have responsibility for many of the courses on the study tracks in Programming Language and Systems.
Researchers in the PLTC section are in general open to supervise BSc projects, MSc projects, and POCS, in particular, if you contact the researcher in good time before project start and have a proposal for a project related to the research areas of the particular researcher. Inspiration may be found by looking at the descriptions of PLTC's research groups, which also include names of associated researchers.
Head of Section
Martin Elsman
Professor
mael@di.ku.dk