School of Computing CSIT Building, N217
About Me
I am interested in improving the design and implementation of industrial general-purpose programming languages. I am interested in static type-checking and how to reduce the burden that it places on its users, both language designers and programmers. Most of my work focuses on gradual typing in object-oriented programming languages, but I am also interested in interactions of parsing and type checking from a language-design perspective, and in black-box runtime verification techniques that exploit unused hardware resources.
Starting in 2025, my research in Gradual Typing will be supported by an ARC DECRA grant!
Before joining the ANU, I was a postdoc in Tom Henzinger's group at ISTA. Prior to that, I obtained a PhD in Computer Science from Cornell University (advised by Ross Tate), an M.S. in Computer Science from Northeastern University (advised by Mitchell Wand), and a BSc in Software and Information Engineering from TU Wien (advised by Franz Puntigam).
Projects
Research Projects
See all publications or browse the projects below.Gradual Typing
Making sound, efficient, and well-behaved gradual typing practical for a new generation of industrial programming languages. Read more!
Type-System and Language Design
Improving the design of popular language features, particlarly for object-oriented languages. Read more!
Semantics of Partial Programs
Formally looking at programming language design with respect to tools like IDEs, making them more usable and easier to implement. Read more!
Run-Time Monitoring
Gaining more confidence about black-box programs from untrusted vendors. Read more!
Students
Students
Interested in doing research with me? Look at the projects above or at the school's Project Website. I am also recruiting PhD students!Current Students
- Chethin Weerakkody (Honours Thesis)
- Sophie Press (Honours Thesis)
- Xinjie Xu (Research Project)
- Alex Mirrlees-Black (Research Project)
- Michael Ostapenko (Research Project)
Awards
- Distinguished Reviewer (OOPSLA 2019 Artifacts)
- Distinguished Paper Award (OOPSLA 2017)
- Facebook Fellowship Finalist (2015, 2017)
- Teaching Award, Cornell University (2014)
- Teaching Award, Northeastern University (2013)
- Yiannis Tsiounis Scholarship (2012)
- Fulbright Exchange Grant (2011)
Teaching
Teaching at ANU
- COMP 2120/6120 (Software Engineering) [S2 2024]
- COMP 1110/6710 (Structured Programming) [S1 2024]
- COMP 3160/6361 (Principles of Programming Languages) [S2 2023]
Other Activities
Research Community
- Organizer of SAPLING 2024
- Program Committe Member for MPLR 2024
- Review Committee Member for OOPSLA 2024
- Organizer of SAPLING 2023
- ERC Member and Artifact Reviewer for OOPSLA 2023
- ERC Member and Artifact Reviewer for ECOOP 2023
- Organized Doctoral Symposium at SPLASH 2022
- ERC Member and Artifact Reviewer for OOPSLA 2022
- Reviewed Artifacts for ECOOP 2018 and OOPSLA 2019
- Organized Cornell PL Retreats 2015 and 2017
- Student Volunteer at PLDI 2017 and PLDI 2018
Outreach
- Expand Your Horizons (Cornell)
- Zoom a Scientist (ISTA)
Hobbies
I spend most of my non-CS time playing board- and computer games that ideally are either about trust between players or building a large economy (or both). I bake cakes, and I like skiing and hiking.