Programming Languages and Formal Verification
About Us
The Programming Languages and Formal Verification Group focuses on designing and implementing programming language and formal verification tools and techniques that ease the development of trustworthy software. By uniting formalised mathematical foundations and foundational language techniques with practical proof engineering, this research group investigates how to formally verifying that critical software components meet their specifications. Our work in this area ranges from foundational semantics and type systems techniques to industrial-strength verification tools, certified APIs, and certifying compilers for formally verifying the correctness of mathematical foundations, algorithms, systems software, and language runtime.
Graduate Researchers
| Given Name | Family Name | Profile | Primary Supervisor | Co-Supervisor(s) | Thesis Title |
|---|
| Jeremy | Lindsay | TBD | Cezary Kaliszyk | Christine Rizkallah | Proof Metrics in Formalised Mathematics |
| Pengbo | Yan | Profile | Olya Ohrimenko | Robert Sison, Thuan Pham | Proving Obliviousness with Formal Verification |
| Pilar Selene | Linares Arevalo | Profile | Christine Rizkallah | Peter Schachte | Composing Linear Types and Separation Logic Proofs of Memory Safety |
| Vincent | Jackson | Profile | Christine Rizkallah | Toby Murray | Mechanised High-level Verification for Concurrent Low-level Programs |
| Xing | Li | Profile | Christine Rizkallah | Peter Schachte | Cost Semantics for Lazy Functional Programs |
| Zoe O. | Elwyn | TBD | Christine Rizkallah | Abel Armas Cervantes | Formalising Quantitative Properties of Concurrent Processes |
| Zhuo (Zoey) | Chen | Profile | Christine Rizkallah | Johannes Åman Pohjola (external) | A Verified Cost Model for Call-By-Push-Value Lambda Calculus |
Alumni