About Me
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. I am part of the Henzinger Group.
Before coming to ISTA, I obtained a PhD in Computer Science from Cornell University (advised by Ross Tate). I have been a Fulbright Exchange Student at Northeastern University, where I obtained an M.S. in Computer Science. I got a BSc in Software and Information Engineering from TU Wien (Austria).
I am excited to be joining the School of Computing at the Australian National University later this year.
Research
Gradual Typing Research Summary
Gradual Typing lets programmers decide when to use static type-checking in a program instead of the traditional all-or-nothing choice they had when choosing a language that either featured static type-checking or doesn't. However, it remains challenging to design type system features common in today's major object-oriented languages in such a way that they interact well with gradual typing, and it also remains challenging to implement gradual typing efficiently.
Publications
Theses
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
- Cornell
- CS 2800 - Discrete Structures
- Spring 2014 (TA)
- CS 4120 - Introduction to Compilers
- Fall 2013 (TA)
- CS 2800 - Discrete Structures
- Northeastern
- CS 5010 - Program Design Paradigms
- Fall 2012 (Head TA)
- Spring 2012 (TA)
- CS 5010 - Program Design Paradigms
- TU Wien
- E 185.162 - Object-Oriented Programming
- Winter 2010 (Tutor ~TA)
- Winter 2009 (Tutor ~TA)
- E 185.179 - Logic Programming
- Summer 2010 (Tutor ~TA)
- Winter 2009 (Tutor ~TA)
- E 185.162 - Object-Oriented Programming
Other Activities
Research Community
- 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.