- Computer security: foundations, information-flow, mitigation of covert channels,
programming-language based characterization and enforcement, web security.
- Programming languages: semantics, design, type systems, program analysis.
- Troupe - a programming language for concurrent and distributed programming with dynamic information flow control
Selected recent publications
- Program committees:
Nordsec 2019 (co-chair),
Euro S&P 2018,
FCS 2017 (co-chair),
FCS 2016 (co-chair),
PLAS 2011 (co-chair),
Selected teaching and tutorial material
- Mechanization of a noninterference proof for a simple imperative language with
a small-step semantics in Coq (GitHub)
- Associated introductory notes on language-based information-flow security