Our paper “Accumulation Analysis” was accepted at ECOOP!
I’m a future assistant professor at the New Jersey Institute of Technology, in the Department of Computer Science, which I’ll join at the beginning of the Fall 2022 semester. I am actively recruiting students to join me at NJIT: please contact me directly if you are interested.
For now, I’m still a Ph.D. student at the University of Washington Paul G. Allen School of Computer Science & Engineering, where I’m finishing up my Ph.D. in the PLSE group. My thesis advisor is Michael Ernst.
My research focuses on making software verification practical for every developer: that is, on making verification a standard part of every developer’s toolkit, in the way that techniques like unit testing or code review are today. My focus is primarily on two approaches to making verification more practical:
- improving the expressivity of simple verification technologies: making it possible to prove more facts about a program within the constraints that developers actually work under. Examples of this approach include my work on accumulation analysis for resource leaks (ESEC/FSE 2021) and for initialization(ICSE 2020).
- convincing developers of the benefits of verification: by deploying verification technologies in new domains, and by improving the usability of verification. An example of this approach is my work on compliance verification (ASE 2020).
I am actively recruiting students at all levels (undergraduate, masters, PhD) to work with me beginning in Fall 2022. If the vision of making verification something that all programmers can use appeals to you, please contact me directly (email is best) or apply to NJIT and mention my name in your statement of purpose.
Outside of work, I enjoy playing all kinds of games—video, tabletop, board, etc.—skiing, watching baseball and soccer, reading, and a little bit of tea snobbery. Some of my favorite games include Civilization, Dungeons and Dragons, and Dominion. I’m a big fan of the Washington Nationals and of the Seattle Sounders.
I’ve accepted a tenure-track assistant professor position at the New Jersey Institute of Technology’s Department of Computer Science, starting in Fall 2022. I’m looking forward to the move to Newark and the next phase of my career!
I (virtually) gave an invited talk at George Mason University.
I gave an invited talk at the New Jersey Institute of Technology.
I (virtually) gave an invited talk at SRI.
I (virtually) gave an invited talk at William and Mary.
We have updated our paper “Lightweight and Modular Resource Leak Verification” to correct a minor error in table 3 (the ablation study, section 7.2) that resulted from an error we discovered in our experimental scripts. None of our scientific conclusions have changed because of this correction, so the paper’s text is unchanged. The original version can still be found here.
ESEC/FSE 2021 starts today! I’m participating in two talks: a doctoral symposium talk at 7am Pacific on Tuesday 8/24 and a joint talk with Narges Shadab of UCR in the main technical track on our paper “Lightweight and Modular Resource Leak Verification”, which will show twice: at 6am and 6pm Pacific time on 8/26.
The pre-print of our paper “Lightweight and Modular Resource Leak Verification” (which will be published in August at ESEC/FSE) is now available.
Our paper “Lightweight and Modular Resource Leak Verification” was accepted at ESEC/FSE 2021! Pre-print coming soon!
Our paper “Continuous Compliance” was accepted at ASE 2020!
I passed my general exam, meaning that I am now officially a Ph.D. candidate! Thanks to my whole committee for your excellent suggestions :)
I gave a talk at the University of Utah to Pavel Panchekha’s lab.
Our paper “Verifying Object Construction” was accepted at ICSE 2020’s technical track!
“Compile-time Detection of Machine Image Sniping” won first place at the ASE student research competition!
I’m excited to rejoin the AWS Automated Reasoning Group for an internship this fall!
I updated my website!
- Lightweight Verification via Specialized Typecheckers
- doctoral symposium at ESEC/FSE 2021, August 2021
- [bibtex] [slides]
- Lightweight and Modular Resource Leak Verification
- European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE), August 2021
- (note that this version of the paper has been updated to correct a minor error in table 3)
- [bibtex] [artifact (scripts and data)] [slides (pdf)] [talk recording]
- Continuous Compliance
- Automated Software Engineering (ASE), August 2020
- [bibtex] [artifact (scripts and data)] [slides (pdf)] [slides (pptx)] [key-length checker] [crypto-policy checker] [bucket-compliance checker] [no-literal checker]
- Verifying Object Construction
- International Conference on Software Engineering (ICSE), May 2020
- [bibtex] [code] [artifact (VM image)] [talk video] [slides (pdf)] [slides (pptx)]
- Compile-time Detection of Machine Image Sniping
- ASE 2019 Student Research Competition, Graduate Division, November 2019
- Won 1st place at ASE ‘19’s Student Research Competition
- [bibtex] [slides (PDF)] [poster (PDF)]
- Lightweight Verification of Array Indexing
- Internation Symposium on Software Testing and Analysis (ISSTA), July 2018
- [bibtex] [slides (PDF)] [slides (PPTX)] [artifact] [docker image]
- Combining Bug Detection and Test Case Generation
- FSE 2016 Student Research Competition, Undergraduate Division, November 2016
- Won 1st place at FSE ‘16 and 3rd place in the SRC Grand Finals
- Combining Bug Detection and Test Case Generation
- Technical Report, September 2016