Research in Programming Languages and Systems at Imperial spans foundational issues in language semantics right through to the design and implementation of new languages, including compilers and domain-specific techniques to achieve performance, parallelism and correctness.
Key areas include: programming language semantics and type systems, including type systems for concurrent, distributed and parallel computing, and semantics for web programming languages; new programming models and domain-specific languages for emerging application areas; domain-specific code generation and optimization; runtime systems and operating system support for concurrency, parallelism and energy efficiency; program analysis techniques for improving the reliability and security of software at various levels of abstraction, from systems software through to web applications; techniques and tools for rigorous testing of programming language implementations; and techniques and tools for reasoning about concurrency and parallelism in modern programming languages.

Research groups and centres
Academics
Academics
-
Dr Cristian Cadar
Location
435, Huxley Building
Research interests
Software engineering, computer systems, software security, practical techniques for improving software reliability and security.
-
Professor Alastair Donaldson
Personal details
Professor Alastair Donaldson Professor of Programming LanguagesSend email+44 (0)20 7594 8266
Location
422, Huxley Building
Research interests
Formal verification for multicore software, software performance optimization.
-
Professor Sophia Drossopoulou
Personal details
Professor Sophia Drossopoulou Professor of Programming LanguagesSend email+44 (0)20 7594 8368
Location
559, Huxley Building
Research interests
Concurrent programming, program verification, characterization of program evolution, theorem proving.
-
Prof. Susan Eisenbach
Location
569, Huxley Building
Research interests
Programming Languages, Concurrency and Testing.
-
Dr Tony Field
Location
354, Huxley Building
Research interests
Functional programming, engineering for high performance, simulation.
-
Professor Philippa Gardner
Personal details
Professor Philippa Gardner Professor of Theoretical Computer ScienceSend email+44 (0)20 7594 8292
Location
453, Huxley Building
Research interests
Programming languages, program analysis and verification, concurrency and resource reasoning.
-
Professor Chris Hankin
Personal details
Professor Chris Hankin Professor of Computing ScienceSend email+44 (0)20 7594 7619
Location
Sherfield Building
Research interests
Security, program analysis and programming language theory.
-
Professor Paul Kelly
Personal details
Professor Paul Kelly Professor of Software TechnologySend email+44 (0)20 7594 8332
Location
L3 (upstairs), William Penney Building
304, Huxley BuildingResearch interests
Programming languages, compilers, parallel computing, domain-specific tools and libraries, performance issues, irregular and data intensive applications, performance evaluation, modelling, and prediction.
-
Dr Ben Livshits
Location
ACE 355
Research interests
Blockchain, s ecurity, privacy, program analysis, compilers, software engineering.
-
Professor Wayne Luk
Personal details
Professor Wayne Luk Professor of Computer EngineeringSend email+44 (0)20 7594 8313
Location
434, Huxley Building
Research interests
Hardware and architecture, reconfigurable computing, design automation.
-
Dr Sergio Maffeis
Personal details
Dr Sergio Maffeis Associate Professor of Computer SecuritySend email+44 (0)20 7594 8390
Location
441, Huxley Building
Research interests
Software security, network and web security, applications of AI to security, security of AI, formal methods.
-
Dr. Azalea Raad
Location
Huxley Building
-
Dr Herbert Wiklicky
Location
424, Huxley Building
Research interests
Program analysis, programming languages, semantics, probabilistic models, program synthesis, semantics in computer security, quantum computation.
-
Dr. Nicolas Wu
Location
374, Huxley Building
Research interests
Dr. Wu's research interests are centred around programming languages, where he has made advances in applications of category theory for giving the semantics of programs and algorithms. In particular, his recent work has been focused on showing the connections between domain specific languages, algebraic effect handlers, and structured recursion schemes.
