We research and develop foundations, technology and applications of efficient and secure networked/distributed computer systems controlled by multiple independent principals. This includes 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.
We perform research in programming language technology (including ties to program analysis, type systems and transformation, compiler and language design, high-performance computing, and meta-programming), and in theory of computation (including ties to automata and computability theory, logic, term rewriting and lambda calculus, and reversible and quantum computing).
Much of our work involves topics in the intersection of programming languages and theory (e.g., algorithmic aspects of programming and formal verification), and applications (e.g., computer security and privacy, systems, distributed ledger technology, and fintech).
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. (More info about the group TBA)
We design and develop theoretical and practical aspects of advanced Higher-Order and Typed programming language technology. Examples include type-based analyses and domain specific languages. (More info about the group TBA)
We study reversible computing with a focus on garbage-free computation models and design of programming languages in these. Relations to other areas include categorical models, IT-security, computer systems, and quantum computation. (More info about the group TBA)
Our research covers theoretical and practical research of programming languages with a focus on automatic program optimization, analysis and transformation. (More info about the group TBA)
We conduct primarily theoretical research into the nature of computing. The aim is to prove universal results concerning the problems that can, and particularly, cannot be solved by computers or other computing devices. (More info about the group TBA)
We conduct out language and compiler research, particularly with respectto using functional techniques for generating efficient code for modern high-performance architectures, including GPUs and multicore CPUs. (More info about the group TBA)