Adam T. Geller

I am a graduate student at the University of British Columbia. I study Computer Science with a focus on Programming Languages.

Brief Research Statement

For me, reasearch is a way to dig deeper into topics I find fun and interesting. 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 oppurtunity to work closely with faculty and fellow students at UBC to learn and build.

Cassius & VizAssert

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 DSL 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. You can view it in various places, including here.


I have only very recently started working on PGo, so I don't have anything to put here.

In the meantime, check out the PGo github repository.