A community-maintained list of professors working in programming language theory, organized by institution, to help prospective PhD students find potential advisors. Contributions and corrections are welcome — open a PR!
Inspired by and sourced from PLGradSchools.
- Australia
- Austria
- Belgium
- Canada
- Chile
- Denmark
- France
- Germany
- Greece
- Hong Kong
- Japan
- Netherlands
- Poland
- Portugal
- Singapore
- South Korea
- Spain
- Sweden
- Switzerland
- United Kingdom
- United States
Application deadline:❔
Fabian Muehlboeck — Homepage · Scholar · ORCID
-
Research: type systems, gradual typing, language design, language implementation
-
Taking students: ✅
Liam O'Connor — Homepage · Scholar · ORCID
-
Research: property-based testing, language semantics, temporal logic
-
Taking students: ✅
Michael Norrish — Homepage · Scholar · ORCID
-
Research: interactive theorem provers, language semantics
-
Taking students:❔
Application deadline:❔
Thomas Sewell — Homepage · Scholar · ORCID
-
Research: formal methods, program verification
-
Taking students:❔
Application deadline:❔
Krishnendu Chatterjee — Homepage · Scholar · ORCID
-
Research: formal methods, program analysis, concurrency
-
Taking students:❔
Michael Sammler — Homepage · Scholar · ORCID
-
Research: automated reasoning, separation logic, formal methods
-
Taking students:❔
Application deadline:❔
Laura Kovács — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Dominique Devriese — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Tom Schrijvers — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Brigitte Pientka — Homepage · Scholar · ORCID
-
Research: type theory, dependent types, refinement types, automated reasoning, functional programming, logic programming, metaprogramming
-
Taking students:❔
Application deadline:❔
Anders Miltner — Homepage · Scholar · ORCID
-
Research: refinement types, program synthesis
-
Taking students: ✅
Yuepeng Wang — Homepage · Scholar · ORCID
-
Research: formal methods, program verification, program synthesis
-
Taking students: ✅
Application deadline:❔
Alexander J. Summers — Homepage · Scholar · ORCID
-
Research: program verification, program analysis, formal methods
-
Taking students:❔
Caroline Lemieux — Homepage · Scholar · ORCID
-
Research: program analysis, static analysis, program synthesis, property-based testing, formal methods
-
Taking students:❔
Ronald Garcia — Homepage · Scholar · ORCID
-
Research: type systems, language design, functional programming, language semantics
-
Taking students:❔
William J. Bowman — Homepage · Scholar · ORCID
-
Research: verified compilation, dependent types, program verification, metaprogramming
-
Taking students:❔
Yuanhao Wei — Homepage · Scholar · ORCID
-
Research: memory management, language design, parallel programming, concurrency
-
Taking students:❔
Application deadline:❔
Azadeh Farzan — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Ningning Xie — Homepage · Scholar · ORCID
-
Research: type systems, language design, language implementation, algebraic effects, effect handlers, functional programming
-
Taking students:❔
Application deadline:❔
Ondrej Lhoták — Homepage · Scholar · ORCID
-
Research: model checking, program analysis, static analysis, compilers, object-oriented programming
-
Taking students:❔
Yizhou Zhang — Homepage · Scholar · ORCID
-
Research: type systems, algebraic effects, formal methods, proof assistants, program analysis, compilers, language design, object-oriented programming, language-based security, probabilistic programming
-
Taking students:❔
Application deadline:❔
Matías Toro — Homepage · Scholar · ORCID
-
Research: type systems, linear types, gradual typing, proof assistants, static analysis, language design, functional programming, language semantics
-
Taking students:❔
Éric Tanter — Homepage · Scholar · ORCID
-
Research: type theory, refinement types, gradual typing, type systems, algebraic effects, program verification, proof assistants, static analysis, program analysis, functional programming, object-oriented programming, formal methods
-
Taking students:❔
Application deadline:❔
Amin Timany — Homepage · Scholar · ORCID
-
Research: type theory, formal methods, program verification, separation logic, proof assistants, distributed systems
-
Taking students:❔
Anders Møller — Homepage · Scholar · ORCID
-
Research: program analysis
-
Taking students:❔
Andreas Pavlogiannis — Homepage · Scholar · ORCID
-
Research: model checking, program analysis, static analysis, concurrency, language-based security
-
Taking students:❔
Daniel Gratzer — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Jaco van de Pol — Homepage · Scholar · ORCID
-
Research: formal methods, model checking, automated reasoning, concurrency, distributed systems, quantum computing, quantum programming
-
Taking students:❔
Jean Pichon-Pharabod — Homepage · Scholar · ORCID
-
Research: model checking, separation logic, program verification, compilers, concurrency
-
Taking students:❔
Lars Birkedal — Homepage · Scholar · ORCID
-
Research: type theory, program verification, separation logic, distributed systems, language semantics
-
Taking students:❔
Magnus Madsen — Homepage · Scholar · ORCID
-
Research: algebraic effects, program analysis, static analysis, compilers, language design, logic programming, concurrency
-
Taking students:❔
Application deadline:❔
Patrick Bahr — Homepage · Scholar · ORCID
-
Research: type systems, formal methods, functional programming, compilers
-
Taking students:❔
Rasmus Ejlers Møgelberg — Homepage · ORCID
-
Research: type theory, language semantics, category theory, domain theory, type systems, algebraic effects
-
Taking students:❔
Application deadline:❔
Dmitriy Traytel — Homepage · Scholar · ORCID
-
Research: automated reasoning, interactive theorem provers
-
Taking students:❔
Fritz Henglein — Homepage · Scholar
-
Research: type systems, program analysis, functional programming
-
Taking students:❔
Martin Elsman — Homepage · Scholar · ORCID
-
Research: parallel programming, compilers, functional programming, language design, language implementation
-
Taking students:❔
Thomas P. Jensen — Homepage · Scholar
-
Research:❔
-
Taking students:❔
Troels Henriksen — Homepage · Scholar · ORCID
-
Research: parallel programming, functional programming, HPC, compilers
-
Taking students:❔
Pierre Clairambault — Homepage · Scholar · ORCID
-
Research: language semantics, denotational semantics, linear logic, concurrency, dependent types
-
Taking students:❔
Application deadline:❔
Albert Cohen — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Caterina Urban — Homepage · Scholar · ORCID
-
Research: program analysis, static analysis, program verification
-
Taking students:❔
Cezara Dragoi — Homepage
-
Research: formal verification, automated reasoning, separation logic, static analysis
-
Taking students:❔
Marc Pouzet — Homepage · ORCID
-
Research: type systems, functional programming, language design, language implementation, language semantics
-
Taking students:❔
Xavier Rival — Homepage · Scholar · ORCID
-
Research: static analysis
-
Taking students:❔
Application deadline:❔
François Pottier — Homepage · Scholar · ORCID
-
Research: type systems, language design, functional programming, object-oriented programming
-
Taking students:❔
Kenji Maillard — Homepage · ORCID
-
Research: type theory, dependent types, type systems, program verification, proof assistants
-
Taking students:❔
Luc Maranget — Homepage · Scholar · ORCID
-
Research: language design, compilers, lazy languages, concurrency
-
Taking students:❔
Matthieu Sozeau — Homepage · Scholar · ORCID
-
Research: type theory, dependent types, type systems, automated reasoning, proof assistants, interactive theorem provers, program verification, functional programming, metaprogramming
-
Taking students:❔
Nicolas Tabareau — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Pierre-Marie Pédrot — Homepage · ORCID
-
Research:❔
-
Taking students:❔
Xavier Leroy — Homepage · Scholar · ORCID
-
Research: algebraic effects, automated reasoning, static analysis, compilers, functional programming, concurrency
-
Taking students:❔
Yannick Forster — Homepage · Scholar · ORCID
-
Research: type theory, type systems, proof assistants, Rocq
-
Taking students:❔
Yannick Zakowski — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Simon Oddershede Gregersen — Homepage · Scholar · ORCID
-
Research: type systems, program verification, separation logic, distributed systems, formal methods, interactive theorem provers
-
Taking students:❔
Application deadline:❔
Sebastian Erdweg — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Catalin Hritcu — Homepage · Scholar · ORCID
-
Research: verified compilation, memory management, program verification, dependent types, language semantics, property-based testing, cryptography, IFC
-
Taking students:❔
Deepak Garg — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Derek Dreyer — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Georg Zetzsche — Homepage · Scholar · ORCID
-
Research: model checking, automated reasoning, concurrency, program verification, formal methods
-
Taking students:❔
Gilles Barthe — Homepage · ORCID
-
Research: program verification
-
Taking students:❔
Rupak Majumdar — Homepage · Scholar · ORCID
-
Research: automated reasoning, program analysis, program verification
-
Taking students:❔
Viktor Vafeiadis — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Joost-Pieter Katoen — Homepage · Scholar · ORCID
-
Research: model checking, concurrency, probabilistic programming
-
Taking students:❔
Application deadline:❔
Benjamin Lucien Kaminski — Homepage · Scholar · ORCID
-
Research: formal methods, program verification, program analysis, static analysis, concurrency, probabilistic programming
-
Taking students:❔
Sebastian Hack — Homepage · Scholar · ORCID
-
Research: program analysis, program synthesis, compilers, domain specific languages
-
Taking students:❔
Application deadline:❔
Roland Meyer — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Guido Salvaneschi — Homepage · Scholar · ORCID
-
Research: distributed systems
-
Taking students:❔
Application deadline:❔
Anthony Widjaja Lin — Homepage · Scholar · ORCID
-
Research: formal methods, automated reasoning, program synthesis
-
Taking students:❔
Application deadline:❔
Andreas Podelski — Homepage · Scholar · ORCID
-
Research: program verification, model checking, program analysis
-
Taking students:❔
Peter Thiemann — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Jonathan Immanuel Brachthäuser — Homepage · Scholar · ORCID
-
Research: type systems, dependent types, algebraic effects, program analysis, compilers, memory management, language design, functional programming, object-oriented programming, concurrency, metaprogramming, probabilistic programming
-
Taking students:❔
Klaus Ostermann — Homepage · Scholar · ORCID
-
Research: type systems, dependent types, model checking, automated reasoning, interactive theorem provers, memory management, language design, domain specific languages, functional programming, object-oriented programming, metaprogramming, formal methods, probabilistic programming
-
Taking students:❔
Application deadline:❔
Dimitris Mitropoulos — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Yannis Smaragdakis — Homepage · Scholar · ORCID
-
Research: type systems, program analysis, static analysis, compilers, memory management, domain specific languages, object-oriented programming, parallel programming, concurrency, distributed systems, formal methods
-
Taking students:❔
Application deadline:❔
Lionel Parreaux — Homepage · Scholar · ORCID
-
Research: type systems, compilers, functional programming, domain specific languages
-
Taking students: ❌
Application deadline:❔
Bruno C. d. S. Oliveira — Homepage · Scholar · ORCID
-
Research: type systems, functional programming, object-oriented programming
-
Taking students:❔
Application deadline:❔
Taro Sekiyama — Homepage · Scholar · ORCID
-
Research: type theory, type systems, program verification
-
Taking students:❔
Application deadline:❔
Naoki Kobayashi — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Hiroshi Unno — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Robbert Krebbers — Homepage · Scholar · ORCID
-
Research: program verification, separation logic, static analysis, concurrency
-
Taking students:❔
Application deadline:❔
Benedikt Ahrens — Homepage · Scholar · ORCID
-
Research: type theory, functional programming
-
Taking students:❔
Casper Bach — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Jesper Cockx — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Soham Chakraborty — Homepage · Scholar · ORCID
-
Research: formal methods, program analysis, compilers, memory management, concurrency
-
Taking students:❔
Application deadline:❔
Wouter Swierstra — Homepage · Scholar · ORCID
-
Research: dependent types, functional programming
-
Taking students:❔
Application deadline:❔
Klaus von Gleissenthall — Homepage · Scholar · ORCID
-
Research: refinement types, formal methods, distributed systems
-
Taking students:❔
Application deadline:❔
Dariusz Biernacki — Homepage · Scholar · ORCID
-
Research: functional programming, language semantics,
-
Taking students:❔
Maciej Piróg — Homepage · Scholar · ORCID
-
Research: type theory, dependent types, automated reasoning, interactive theorem provers, program analysis
-
Taking students:❔
Application deadline:❔
Bernardo Toninho — Homepage · Scholar · ORCID
-
Research: type theory, type systems, concurrency, distributed systems
-
Taking students:❔
Application deadline:❔
José Fragoso Santos — Homepage · Scholar · ORCID
-
Research: automated reasoning, program analysis, static analysis, program synthesis, logic programming, object-oriented programming, language-based security, formal methods
-
Taking students:❔
Nuno P. Lopes — Homepage · Scholar · ORCID
-
Research: model checking, static analysis, compilers, program verification, formal methods
-
Taking students:❔
Vasco Thudichum Vasconcelos — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
C.-H. Luke Ong — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Conrad Watt — Homepage · Scholar · ORCID
-
Research: WebAssembly, formal methods, concurrency
-
Taking students: ❌
Yong Kiam Tan — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Ilya Sergey — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Umang Mathur — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Minseok Jeon — Homepage · Scholar · ORCID
-
Research: program analysis, program synthesis, domain specific languages, functional programming, object-oriented programming
-
Taking students:❔
Yoonseung Kim — Homepage · Scholar · ORCID
-
Research: formal methods, compilers, language design, object-oriented programming, distributed systems
-
Taking students:❔
Application deadline:❔
Woosuk Lee — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Hongseok Yang — Homepage · Scholar · ORCID
-
Research: separation logic
-
Taking students:❔
Jeehoon Kang — Homepage · Scholar · ORCID
-
Research: concurrency
-
Taking students:❔
Kihong Heo — Homepage · Scholar · ORCID
-
Research: program analysis, program synthesis, language-based security
-
Taking students:❔
Application deadline:❔
Hakjoo Oh — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Wonyeol Lee — Homepage · Scholar · ORCID
-
Research: language design, program verification, probabilistic programming
-
Taking students: ✅
Application deadline:❔
Chung-Kil Hur — Homepage · Scholar · ORCID
-
Research: type theory, automated reasoning, interactive theorem provers, concurrency, program verification, probabilistic programming
-
Taking students:❔
Kwangkeun Yi — Homepage · Scholar · ORCID
-
Research: program analysis
-
Taking students:❔
Application deadline:❔
-
Research: security
-
Taking students:❔
Application deadline:❔
Aleksandar Nanevski — Homepage · Scholar · ORCID
-
Research: type theory, interactive theorem provers, dependent types, compilers
-
Taking students:❔
Niki Vazou — Homepage · Scholar · ORCID
-
Research: type systems, refinement types, program verification, automated reasoning
-
Taking students:❔
Application deadline:❔
Andreas Abel — Homepage · Scholar · ORCID
-
Research: program verification, dependent types, type theory, functional programming, type systems, modal types, automated reasoning
-
Taking students:❔
Magnus O. Myreen — Homepage · ORCID
-
Research: program verification, interactive theorem provers
-
Taking students:❔
Nils Anders Danielsson — Homepage · ORCID
-
Research: dependent types
-
Taking students:❔
Application deadline:❔
Bengt Jonsson — Homepage · Scholar · ORCID
-
Research: formal methods, distributed systems, language semantics, program verification, concurrency, security
-
Taking students:❔
Tobias Wrigstad — Homepage · Scholar · ORCID
-
Research: memory management, type systems, security
-
Taking students:❔
Application deadline:❔
Clément Pit-Claudel — Homepage · Scholar · ORCID
-
Research: compilers, formal methods
-
Taking students:❔
Martin Odersky — Homepage · Scholar · ORCID
-
Research: language design, language implementation, Scala
-
Taking students:❔
Nate Foster — Homepage · Scholar · ORCID
-
Research: proof assistants, type systems, networking
-
Taking students:❔
Viktor Kuncak — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Peter Müller — Homepage · Scholar · ORCID
-
Research: automated reasoning, Viper
-
Taking students:❔
Ralf Jung — Homepage · Scholar · ORCID
-
Research: formal methods, Rust
-
Taking students:❔
Zhendong Su — Homepage · Scholar · ORCID
-
Research: compilers, security, education
-
Taking students:❔
Application deadline:❔
Walter Binder — Homepage · Scholar · ORCID
-
Research: program analysis, concurrency, parallel programming, language implementation
-
Taking students:❔
Filip Sieczkowski — Homepage · Scholar · ORCID
-
Research: separation logic, language semantics, concurrency, effect handlers
-
Taking students:❔
James McKinna — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Alastair F. Donaldson — Homepage · Scholar · ORCID
-
Research: formal methods, HPC
-
Taking students:❔
Azalea Raad — Homepage · ORCID
-
Research: concurrency, language semantics
-
Taking students:❔
Nicolas Wu — Homepage · Scholar · ORCID
-
Research: language semantics, domain specific languages, effect handlers
-
Taking students:❔
Nobuko Yoshida — Homepage · Scholar · ORCID
-
Research: type systems
-
Taking students:❔
Philippa Gardner — Homepage · Scholar · ORCID
-
Research: program verification, formal methods
-
Taking students:❔
Sophia Drossopoulou — Homepage · Scholar · ORCID
-
Research: concurrency, automated reasoning, program verification
-
Taking students:❔
Application deadline:❔
Stephen Kell — Homepage · Scholar
-
Research: language implementation, compilers, language design
-
Taking students:❔
Application deadline:❔
Raymond Hu — Homepage · Scholar · ORCID
-
Research: distributed systems, type systems
-
Taking students:❔
Vasileios Klimis — Homepage · Scholar · ORCID
-
Research: model checking, compilers, quantum computing
-
Taking students:❔
Application deadline:❔
Francisco Ferreira — Homepage · ORCID
-
Research: type systems, formal methods, concurrency, modal types
-
Taking students:❔
Julien Lange — Homepage · Scholar · ORCID
-
Research: type systems, program verification
-
Taking students:❔
Matthew Hague — Homepage · Scholar · ORCID
-
Research: program verification, model checking, concurrency
-
Taking students:❔
Reuben N. S. Rowe — Homepage · Scholar · ORCID
-
Research: type systems, program verification, automated reasoning, separation logic, program synthesis, language design, concurrency
-
Taking students:❔
Application deadline:❔
Sergey Goncharov — Homepage · Scholar
-
Research: algebraic effects, program verification, language semantics, category theory
-
Taking students:❔
Application deadline:❔
Eddie Jones — Homepage · Scholar · ORCID
-
Research: formal methods, functional programming
-
Taking students:❔
G. A. Kavvos — Homepage · Scholar · ORCID
-
Research: homotopy type theory, modal types, category theory, concurrency, security
-
Taking students:❔
Meng Wang — Homepage · Scholar · ORCID
-
Research: functional programming, bidirectional programming
-
Taking students:❔
Steven Ramsay — Homepage · Scholar · ORCID
-
Research: functional programming, automated reasoning, model checking
-
Taking students:❔
Application deadline:❔
Anil Madhavapeddy — Homepage · Scholar · ORCID
-
Research: OCaml, functional programming
-
Taking students:❔
Jeremy Yallop — Homepage · Scholar · ORCID
-
Research: OCaml, metaprogramming, program verification, algebraic effects
-
Taking students:❔
Neelakantan R. Krishnaswami — Homepage · Scholar
-
Research: program verification, language design, language semantics, type theory
-
Taking students:❔
Peter Sewell — Homepage · ORCID
-
Research: type systems, formal methods, concurrency, memory management, program verification
-
Taking students:❔
Tobias Grosser — Homepage · Scholar · ORCID
-
Research: formal methods, compilers, language design, HCI, SMT
-
Taking students:❔
Application deadline:❔
Amir Shaikhha — Homepage · Scholar · ORCID
-
Research: program synthesis, compilers, memory management, domain specific languages, concurrency, probabilistic programming
-
Taking students:❔
Chris Heunen — Homepage · Scholar · ORCID
-
Research: quantum programming
-
Taking students:❔
Elizabeth Polgreen — Homepage · Scholar · ORCID
-
Research: formal verification, program verification, program synthesis
-
Taking students:❔
Ian Stark — Homepage · Scholar · ORCID
-
Research: concurrency, program verification, compiler verification, modal logic, type theory, type systems
-
Taking students:❔
James Cheney — Homepage · Scholar · ORCID
-
Research: compilers, automated reasoning, XML
-
Taking students:❔
Ohad Kammar — Homepage · Scholar · ORCID
-
Research: compilers, algebraic effects, domain theory, probabilistic programming, concurrency, dependent types, security, metaprogramming, category theory
-
Taking students:❔
Rob van Glabbeek — Homepage · Scholar · ORCID
-
Research: concurrency, language semantics, linear logic, process algebra
-
Taking students:❔
Sam Lindley — Homepage · Scholar · ORCID
-
Research: effect handlers, functional programming
-
Taking students:❔
Application deadline:❔
Ornela Dardha — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Simon Fowler — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Simon J. Gay — Homepage · Scholar
-
Research:❔
-
Taking students:❔
Application deadline:❔
David Castro-Perez — Homepage · Scholar · ORCID
-
Research: interactive theorem provers, language design, language implementation, concurrency, distributed systems, parallel programming
-
Taking students:❔
Dominic A. Orchard — Homepage · Scholar · ORCID
-
Research: type theory, type systems, functional programming, program verification
-
Taking students:❔
Mark Batty — Homepage · Scholar · ORCID
-
Research: compilers, concurrency, formal methods
-
Taking students:❔
Application deadline:❔
Graham Hutton — Homepage · Scholar · ORCID
-
Research: functional programming
-
Taking students:❔
Thorsten Altenkirch — Homepage · Scholar · ORCID
-
Research: type theory, dependent types, functional programming, logic programming, category theory
-
Taking students:❔
Application deadline:❔
Sam Staton — Homepage · Scholar · ORCID
-
Research: probabilistic programming, quantum computing, quantum programming, category theory
-
Taking students:❔
Application deadline:❔
Andrei Popescu — Homepage · Scholar · ORCID
-
Research: proof assistants, type theory, automated reasoning, language-based security
-
Taking students:❔
Application deadline:❔
Edwin C. Brady — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Conor McBride — Homepage · Scholar · ORCID
-
Research: functional programming, type systems, dependent types, type theory, Haskell
-
Taking students:❔
Fredrik Nordvall Forsberg — Homepage · Scholar · ORCID
-
Research: category theory, constructive mathematics, type theory, dependent types
-
Taking students:❔
Robert Atkey — Homepage · Scholar · ORCID
-
Research: linear types, dependent types, type theory, type systems, trustworthy AI
-
Taking students:❔
Application deadline: Rolling
Eric Atkinson — Homepage · Scholar · ORCID
-
Research: language implementation, program analysis, formal methods, language design
-
Taking students: ❌
William T. Hallahan — Homepage · Scholar · ORCID
-
Research: program verification, program synthesis, program analysis, networking
-
Taking students: ❌
Yu David Liu — Homepage · Scholar · ORCID
-
Research: energy-aware software, energy-effecient software, security
-
Taking students:❔
Application deadline:❔
Aaron Stump — Homepage · Scholar · ORCID
-
Research: automated reasoning
-
Taking students:❔
Application deadline: December 15th
Ankush Das — Homepage · Scholar · ORCID
-
Research: security, distributed systems
-
Taking students:❔
Marco Gaboardi — Homepage · Scholar · ORCID
-
Research: formal methods, security
-
Taking students:❔
Application deadline: December 15th
Will Crichton — Homepage · Scholar · ORCID
-
Research: HCI, Rust
-
Taking students: ✅
Application deadline:❔
Feras Saad — Homepage · Scholar · ORCID
-
Research: probabilistic programming
-
Taking students:❔
Frank Pfenning — Homepage · Scholar · ORCID
-
Research: type theory, type systems
-
Taking students:❔
Heather Miller — Homepage · Scholar · ORCID
-
Research: distributed systems
-
Taking students:❔
Jan Hoffmann — Homepage · Scholar · ORCID
-
Research: model checking, type systems, static analysis, probabilistic programming, formal methods
-
Taking students:❔
Jonathan Aldrich — Homepage · Scholar · ORCID
-
Research: gradual typing, separation logic, static analysis, language design, object-oriented programming, formal methods
-
Taking students:❔
Robert Harper — Homepage · Scholar · ORCID
-
Research: type theory, proof assistants, compilers, functional programming
-
Taking students:❔
Stephanie Balzer — Homepage · Scholar · ORCID
-
Research: type systems, separation logic, functional programming, object-oriented programming, concurrency, language-based security
-
Taking students:❔
Umut A. Acar — Homepage · Scholar · ORCID
-
Research: concurrency, quantum computing
-
Taking students:❔
Application deadline: December 15th
Adrian Sampson — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Alexandra Silva — Homepage · Scholar · ORCID
-
Research: formal methods
-
Taking students:❔
Andrew C. Myers — Homepage · Scholar · ORCID
-
Research: type systems, compilers, functional programming, object-oriented programming, language-based security, formal methods, probabilistic programming
-
Taking students:❔
J. Gregory Morrisett — Homepage · Scholar
-
Research: type systems, compilers, memory management, language-based security, formal methods
-
Taking students:❔
Justin Hsu — Homepage · Scholar · ORCID
-
Research: type systems, dependent types, refinement types, formal methods, separation logic, program analysis, language design, functional programming, language-based security, probabilistic programming
-
Taking students:❔
Application deadline: December 15th
Jacob Laurel — Homepage · Scholar · ORCID
-
Research: static analysis, object-oriented programming, probabilistic programming
-
Taking students:❔
Qirun Zhang — Homepage · Scholar · ORCID
-
Research: program analysis, static analysis, compilers, language design
-
Taking students:❔
Santosh Pande — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Vivek Sarkar — Homepage · Scholar · ORCID
-
Research: compilers, language implementation
-
Taking students:❔
Application deadline: December 15th
Nada Amin — Homepage · Scholar · ORCID
-
Research: program synthesis, metaprogramming, probabilistic programming
-
Taking students:❔
Stephen Chong — Homepage · Scholar · ORCID
-
Research: compilers, language-based security
-
Taking students:❔
Application deadline: December 15th
Amr Sabry — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Carlo Angiuli — Homepage · Scholar · ORCID
-
Research: type theory, dependent types, type systems, proof assistants, functional programming
-
Taking students:❔
Chung-chieh Shan — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Jeremy G. Siek — Homepage · Scholar · ORCID
-
Research: dependent types, gradual typing, proof assistants, compilers, domain specific languages, functional programming, metaprogramming, language semantics, language-based security
-
Taking students:❔
Sam Tobin-Hochstadt — Homepage · Scholar · ORCID
-
Research: gradual typing, type systems, program analysis, language design, functional programming, object-oriented programming, formal methods
-
Taking students:❔
Application deadline: December 1st
Adam Chlipala — Homepage · Scholar · ORCID
-
Research: dependent types, program verification, automated reasoning, proof assistants, program analysis, compilers, language design, functional programming, concurrency
-
Taking students:❔
Armando Solar-Lezama — Homepage · Scholar · ORCID
-
Research: type systems, model checking, automated reasoning, program analysis, static analysis, program synthesis, compilers
-
Taking students:❔
Michael Carbin — Homepage · Scholar · ORCID
-
Research: program analysis, language design, functional programming, object-oriented programming, probabilistic programming
-
Taking students:❔
Rachit Nigam — Homepage · Scholar · ORCID
-
Research: compilers, domain specific languages
-
Taking students:❔
Saman P. Amarasinghe — Homepage · Scholar · ORCID
-
Research: compilers, language implementation, language design, domain specific languages
-
Taking students:❔
Application deadline: December 1st
Dennis E. Shasha — Homepage · Scholar
-
Research: concurrency
-
Taking students:❔
Joseph Tassarotti — Homepage · Scholar · ORCID
-
Research: formal methods, separation logic, program synthesis, concurrency, distributed systems, probabilistic programming
-
Taking students:❔
Patrick Cousot — Homepage · Scholar · ORCID
-
Research: program verification, model checking, program analysis, static analysis, compilers
-
Taking students:❔
Sam Westrick — Homepage · Scholar · ORCID
-
Research: separation logic, memory management, functional programming, parallel programming
-
Taking students:❔
Thomas Wies — Homepage · Scholar · ORCID
-
Research: type systems, model checking, automated reasoning, interactive theorem provers, separation logic, program analysis, static analysis, language design, functional programming, object-oriented programming, concurrency
-
Taking students:❔
Application deadline: December 15th
Amal Ahmed — Homepage · Scholar · ORCID
-
Research: type theory, type systems, dependent types, gradual typing, separation logic, compilers, language design, functional programming, object-oriented programming, concurrency, formal methods, probabilistic programming
-
Taking students:❔
Arjun Guha — Homepage · Scholar · ORCID
-
Research: program verification, program synthesis, compilers
-
Taking students:❔
Chris Martens — Homepage · Scholar · ORCID
-
Research: proof assistants, type systems, language design, logic programming
-
Taking students:❔
Frank Tip — Homepage · Scholar · ORCID
-
Research: program analysis, static analysis, compilers
-
Taking students:❔
Jan Vitek — Homepage · Scholar · ORCID
-
Research: type systems, gradual typing, program analysis, compilers, memory management
-
Taking students:❔
Joshua Gancher — Homepage · ORCID
-
Research: proof assistants, distributed systems
-
Taking students:❔
Olin Shivers — Homepage · Scholar · ORCID
-
Research: compilers
-
Taking students:❔
Steven Holtzen — Homepage · Scholar · ORCID
-
Research: type systems, program verification, automated reasoning, separation logic, probabilistic programming
-
Taking students:❔
Application deadline: December 1st
Christos Dimoulas — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Robert Bruce Findler — Homepage · Scholar · ORCID
-
Research: formal methods
-
Taking students:❔
Application deadline:❔
Michael D. Bond — Homepage · Scholar · ORCID
-
Research: security
-
Taking students:❔
Application deadline: December 15th
David Walker — Homepage · Scholar · ORCID
-
Research: language design, functional programming, language-based security
-
Taking students:❔
Mae Milano — Homepage · Scholar · ORCID
-
Research: compilers, language design, functional programming, concurrency, distributed systems
-
Taking students:❔
Zachary Kincaid — Homepage · Scholar · ORCID
-
Research: model checking, automated reasoning, program analysis, object-oriented programming, concurrency
-
Taking students:❔
Application deadline: December 1st
Benjamin Delaware — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Milind Kulkarni — Homepage · Scholar · ORCID
-
Research: compilers, object-oriented programming
-
Taking students:❔
Suresh Jagannathan — Homepage · Scholar · ORCID
-
Research: type systems, program verification, language design, functional programming, object-oriented programming
-
Taking students:❔
Tiark Rompf — Homepage · Scholar · ORCID
-
Research: proof assistants, program analysis, compilers, metaprogramming
-
Taking students:❔
Application deadline:❔
Konstantinos Mamouras — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
He Zhu — Homepage · Scholar · ORCID
-
Research: refinement types, model checking, static analysis, program synthesis, compilers, language design, functional programming
-
Taking students:❔
Santosh Nagarakatte — Homepage · Scholar · ORCID
-
Research: formal methods, program analysis, static analysis, compilers, memory management, language design, object-oriented programming, parallel programming, concurrency
-
Taking students:❔
Application deadline: December 2nd
Alex Aiken — Homepage · Scholar · ORCID
- Research: compilers, language design
- Taking students:❔
Fredrik Kjolstad — Homepage · Scholar · ORCID
-
Research: compilers, language implementation, language design, parallel programming, concurrency
-
Taking students:❔
Application deadline:❔
Eric Koskinen — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Michael Greenberg — Homepage · Scholar · ORCID
-
Research: gradual typing, static analysis, compilers, functional programming, formal methods
-
Taking students:❔
Application deadline:❔
Guannan Wei — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Jeffrey S. Foster — Homepage · Scholar · ORCID
-
Research: program analysis, static analysis, program synthesis, compilers, language-based security, formal methods
-
Taking students:❔
Application deadline: December 1st
Max Willsey — Homepage · Scholar · ORCID
-
Research: e-graphs, automated reasoning, program analysis, compilers, logic programming
-
Taking students:❔
Sarah E. Chasins — Homepage · ORCID
-
Research: program synthesis, compilers
-
Taking students:❔
Application deadline:❔
Caleb Stanford — Homepage · Scholar · ORCID
-
Research: distributed systems
-
Taking students:❔
Application deadline: December 15th
Guoqing Harry Xu — Homepage · Scholar · ORCID
-
Research: static analysis, compilers, object-oriented programming, distributed systems, formal methods
-
Taking students:❔
Jens Palsberg — Homepage · Scholar · ORCID
-
Research: compilers, language design, quantum computing, quantum programming
-
Taking students:❔
Konstantinos Kallas — Homepage · Scholar · ORCID
-
Research: static analysis, compilers, distributed systems
-
Taking students:❔
Todd D. Millstein — Homepage · Scholar · ORCID
-
Research: type systems, program verification, automated reasoning, interactive theorem provers, property-based testing, probabilistic programming
-
Taking students:❔
Yisu Remy Wang — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline:❔
Jay P. Lim — Homepage · Scholar · ORCID
-
Research: compilers, language design
-
Taking students:❔
Manu Sridharan — Homepage · Scholar · ORCID
-
Research: static analysis
-
Taking students:❔
Application deadline: December 23rd
Deian Stefan — Homepage · Scholar · ORCID
-
Research: refinement types, program analysis, compilers, language implementation, language design, functional programming, language-based security, memory management
-
Taking students:❔
Loris D'Antoni — Homepage · Scholar · ORCID
-
Research: static analysis, program synthesis, compilers, language-based security, formal methods
-
Taking students:❔
Michael J. Coblenz — Homepage · Scholar · ORCID
-
Research: type systems, formal methods, static analysis, memory management, language design, functional programming, property-based testing
-
Taking students:❔
Nadia Polikarpova — Homepage · Scholar · ORCID
-
Research: refinement types, separation logic, program analysis, program synthesis, compilers, functional programming, object-oriented programming, language-based security, formal methods
-
Taking students:❔
Ranjit Jhala — Homepage · Scholar · ORCID
-
Research: refinement types, model checking, program analysis, compilers
-
Taking students:❔
Sorin Lerner — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline: December 15th
Ben Hardekopf — Homepage · ORCID
-
Research:❔
-
Taking students:❔
Yu Feng — Homepage · Scholar · ORCID
-
Research: type theory, refinement types, type systems, formal methods, automated reasoning, program verification, static analysis, program analysis, program synthesis, compilers, language semantics
-
Taking students:❔
Application deadline: January 5
Cormac Flanagan — Homepage · Scholar · ORCID
-
Research: refinement types, gradual typing, model checking, program analysis, language design, concurrency, language-based security, formal methods
-
Taking students:❔
Lindsey Kuper — Homepage · Scholar · ORCID
-
Research: refinement types, type systems, algebraic effects, separation logic, language design, functional programming, parallel programming, concurrency, distributed systems, program verification
-
Taking students:❔
Mohsen Lesani — Homepage · Scholar · ORCID
-
Research: type systems, static analysis, program synthesis, compilers, language design, domain specific languages, object-oriented programming, concurrency, parallel programming, distributed systems, program verification, formal methods
-
Taking students: ✅
Tyler Sorensen — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline: December 15th
Charith Mendis — Homepage · Scholar · ORCID
-
Research: compilers, language semantics
-
Taking students:❔
Gagandeep Singh — Homepage · Scholar · ORCID
-
Research: automated reasoning, program analysis, static analysis, compilers
-
Taking students:❔
Grigore Rosu — Homepage · Scholar · ORCID
-
Research: static analysis, language design
-
Taking students:❔
Mahesh Viswanathan — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
P. Madhusudan — Homepage · Scholar · ORCID
-
Research: program synthesis, security, model checking
-
Taking students:❔
Sasa Misailovic — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Talia Ringer — Homepage · Scholar · ORCID
-
Research: type theory, formal methods, automated reasoning, proof assistants, compilers, interactive theorem provers, dependent types
-
Taking students:❔
Vikram S. Adve — Homepage · Scholar · ORCID
-
Research: compilers, parallel programming, memory management
-
Taking students:❔
William S. Moses — Homepage · Scholar · ORCID
-
Research: compilers, scientific computing, parallel programming, HPC
-
Taking students: ✅
Application deadline: December 5th
David Van Horn — Homepage · Scholar · ORCID
-
Research: gradual typing, automated reasoning, program analysis, static analysis, program synthesis, Racket
-
Taking students:❔
Leonidas Lampropoulos — Homepage · Scholar · ORCID
-
Research: property-based testing, functional programming, type systems
-
Taking students:❔
Milijana Surbatovich — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Application deadline (Fall):
-
For early consideration for special scholarships: December 10th
-
For full consideration for funding/fellowships: December 31st
Application Deadline (Spring):
- International applications: September 30th
- Domestic applications: October 31st
Andrew K. Hirsch — Homepage · Scholar · ORCID
-
Research: language design, language implementation, choreographic programming
-
Taking students:❔
Harrison Goldstein — Homepage · Scholar · ORCID
-
Research: metaprogramming, property-based testing, probabilistic programming
-
Taking students:❔
Lukasz Ziarek — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Qianchuan Ye — Homepage · Scholar · ORCID
-
Research: type theory, program verification, proof assistants, language-based security
-
Taking students: ✅
Application deadline: December 11
John H. Reppy — Homepage · Scholar · ORCID
-
Research: language design, language implementation, parallel programming
-
Taking students:❔
Ravi Chugh — Homepage · Scholar · ORCID
-
Research: HCI, live programming, domain specific languages, functional programming
-
Taking students:❔
Robert Rand — Homepage · Scholar · ORCID
-
Research: type systems, formal methods, program analysis, quantum computing, quantum programming
-
Taking students:❔
Shan Lu — Homepage · Scholar · ORCID
-
Research: program analysis, software verification, systems
-
Taking students:❔
Application deadline: December 15th
Bor-Yuh Evan Chang — Homepage · Scholar · ORCID
-
Research: automated reasoning
-
Taking students:❔
Gowtham Kaki — Homepage · Scholar · ORCID
-
Research: dependent types, program synthesis, language design, domain specific languages, functional programming, concurrency, distributed systems
-
Taking students:❔
Application deadline: January 1st
Stefan K. Muller — Homepage · Scholar · ORCID
-
Research: language design, type systems, static resource analysis, parallel programming
-
Taking students:❔
Application deadline: January 1st
J. Garrett Morris — Homepage · Scholar · ORCID
-
Research: type systems
-
Taking students:❔
Application deadline:❔
Matteo Cimini — Homepage · Scholar · ORCID
-
Research: formal methods, type systems, gradual typing, interactive theorem provers, concurrency
-
Taking students:❔
Paul Downen — Homepage · Scholar · ORCID
-
Research: language semantics, language design, language implementation
-
Taking students:❔
Application deadline: December 15th
Cyrus Omar — Homepage · Scholar · ORCID
-
Research: proof assistants, live programming, functional programming, HCI
-
Taking students:❔
Max S. New — Homepage · Scholar · ORCID
-
Research: category theory
-
Taking students:❔
Xinyu Wang — Homepage · Scholar · ORCID
-
Research: formal methods
-
Taking students:❔
Application deadline: Decmeber 15th
Benjamin C. Pierce — Homepage · Scholar · ORCID
-
Research: type systems, type theory, property-based testing, interactive theorem provers
-
Taking students:❔
Mayur Naik — Homepage · Scholar · ORCID
-
Research: program verification, program analysis, program synthesis, language design
-
Taking students:❔
Michael Hicks — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Stephanie Weirich — Homepage · ORCID
-
Research: type systems, dependent types
-
Taking students:❔
Steve Zdancewic — Homepage · Scholar · ORCID
-
Research: linear types, automated reasoning, program synthesis, compilers, functional programming, type theory
-
Taking students:❔
Application deadline: December 15th
Mukund Raghothaman — Homepage · Scholar · ORCID
-
Research: automated reasoning, program analysis, static analysis, program synthesis, domain specific languages
-
Taking students:❔
Application deadline: December 15th
Isil Dillig — Homepage · Scholar · ORCID
-
Research: type systems, automated reasoning, program synthesis, domain specific languages
-
Taking students:❔
Application deadline: December 15th
Ben Greenman — Homepage · Scholar · ORCID
-
Research: gradual typing, language design, formal methods, HCI
-
Taking students:❔
John Regehr — Homepage · Scholar · ORCID
-
Research:❔
-
Taking students:❔
Matthew Flatt — Homepage · Scholar · ORCID
-
Research: Racket
-
Taking students:❔
Pavel Panchekha — Homepage · Scholar · ORCID
-
Research: memory management
-
Taking students:❔
Application deadline: December 15th
Dan Grossman — Homepage · Scholar · ORCID
-
Research: program analysis, program synthesis, compilers
-
Taking students:❔
Zachary Tatlock — Homepage · Scholar · ORCID
-
Research: formal methods, compilers
-
Taking students:❔
Application deadline: December 15th
Adithya Murali — Homepage · Scholar · ORCID
-
Research: program verification, program synthesis
-
Taking students:❔
Aws Albarghouthi — Homepage · Scholar · ORCID
-
Research: program synthesis, compilers, program verification, quantum computing
-
Taking students:❔
Charles Yuan — Homepage · Scholar · ORCID
-
Research: quantum computing, quantum programming
-
Taking students:❔
Ethan Cecchetti — Homepage · Scholar · ORCID
-
Research: security
-
Taking students:❔
Thomas W. Reps — Homepage · Scholar · ORCID
-
Research: everything apparently
-
Taking students:❔
Application deadline: December 15th
Alexander K. Lew — Homepage · Scholar
-
Research: probabilistic programming
-
Taking students:❔
Ruzica Piskac — Homepage · Scholar · ORCID
-
Research: program verification, security, automated reasoning, program synthesis
-
Taking students:❔
Zhong Shao — Homepage · Scholar · ORCID
-
Research: program verification, compilers, language design, concurrency, language-based security, formal methods
-
Taking students:❔