Programming languages

Researchers working in the Programming Languages theme in the School of Computer Science are pioneering advancements in the design, implementation, and analysis of programming languages. We are a collaborative team of researchers, advancing the state of the art in a wide range of topics, including:

  • Language Theory: Exploring the fundamental principles and formal methods that underpin programming languages, including type systems, semantics, and syntax.
  • Compiler Construction: Developing advanced compilers that optimize code for performance, security, and portability across different platforms.
  • Runtime Systems: Investigating efficient runtime environments that support dynamic features, garbage collection, and concurrency.
  • Language-Based Security: Creating languages and tools that enhance software security through formal verification, static analysis, and secure coding practices.
  • Domain-Specific Languages (DSLs): Designing specialized languages tailored to specific application domains, such as data science, web development, and embedded systems.
  • Parallel and Concurrent Programming: Innovating new paradigms and languages that simplify the development of parallel and concurrent applications.
  • Programming Language Education: Developing educational tools and curricula to teach programming languages effectively to diverse audiences.

We develop innovative solutions that address real-world challenges, explore new paradigms, develop cutting-edge tools, and share our findings with the global community.