atgeller (at) cs.ubc.ca
I am a graduate student at the University of British Columbia. I study Computer Science with a focus on Programming Languages.
I had a research fellowship at the Max Planck Institute for Software Systems (MPI-SWS) from May-August 2019, where I worked with Maria Christakis and Valentin Wuestholz.
I am currently in the second year of my masters program at the University of British Columbia (UBC), where I started in September 2018, advised by Ivan Beschastnikh and William Bowman.
I graduated from the University of Washington (UW) in June 2018 with a bachelor's degree in Computer Science.
I am currently most interested in compilers, types, and security. I like doing research and working on random projects (few amount to anything useful).
Outside of school, I am a fencing referee who hopes to one day referee at the Olympics. I have refereed at many national tournaments in the United States. I took up running and climbing since getting to Vancouver, and I enjoy playing soccer with my lab mates. I pass time by watching shows and movies, cooking, and playing with my cat.
My cat's name is Socrates (Soccers for short). I adopted him from the RASKC in July 2016 when he was about two months old.
My bunnies are named Honey and Simba. Simba is the big grey lionshead, and Honey is the orange one.
For me, reasearch is a way to dig deeper into topics I find fun and interesting and push the boundaries of human knowledge. I started doing Programming Languages research after finding myself really enjoying an introduction to PL class I took as an undergraduate at UW. Now I will have the opportunity to work closely with faculty and fellow students at UBC to learn and build new tools and ideas.
I worked on Cassius during my undergraduate studies at UW.
Cassius is a tool for automated reasoning about webpage layout. It models the specification for much of CSS, and has novel ways of reasoning about many features of CSS, including floating layout, line-height, and margin-collapsing. My work on Cassius mainly involved improving or adding to our specification of CSS. Notable features I worked on include:
VizAssert is a tool that uses Cassius' understanding of webpage layout to allow developers to verify visual behavior of webpages. Developers can use VizAssert to make their own assertions, or use examples that we provide based off of accessibility and usability guidelines. My work on VizAssert included testing assertions and making a couple of new assertions based off of my work on line-height, as well as my work on Cassius. VizAssert had a paper accepted to PLDI 2018.
I worked on PGo during my first year of my masters at UBC.
PGo is a source-to-source compiler from PlusCal to Go. The goal of PGo is to avoid errors arising from incorrectly modeling a system by providing a mechanical translation from a model-checkable specification to an implementation. PGo aims to provide a best-of-both-worlds experience: avoiding state-explosion commonly found in implementation model checkers by using a model checking language (PlusCal) that can be compiled into a correct (and useful) implementation.
I wrote an extended abstract and designed a poster which was accepted to the SPLASH 2018 poster session. The extended abstract can be found in the PGo github repository.