Donald in Yunnan
Me visiting Yunnan

Research Interests

My research interests center around programming languages and software engineering. In my work I look to provide formal guarantees of program properties in a way that is meaningful for real-world application.

Recent Projects and News

  1. Serverless Computing: My most recent (and first) research project at UMass Amherst PLASMA lab was to tackle some fundamental problems with serverless computing (e.g. AWS Lambda). Serverless functions are super exciting, but they pose some challenges with regards to concurrency and composability. In particular, the underlying cloud platform (such as AWS Lambda) can perform quite complicated patterns of reusing and restarting of the containers inside which code is run. This should be unnoticeable to programmers using the platform, but unfortunately may not be, especially when the serverless functions involve shared data storage. In our work we provide formal proofs specifying under what conditions the underlying mechanics of the serverless platform are indeed abstracted away from programmers. In addition, we improve the situation of composing serverless functions by providing a language based on Arrows, which can be used to specify pipelines of serverless functions. A draft of the paper is available here.

About Me

Currently, I'm a 1st year computer science PhD student at UMass Amherst, where I study programming languages and software engineering. I'm advised by Arjun Guha and Yuriy Brun, and I'm a member of the PLASMA and LASER labs.

However, I'm relatively new to Massachusetts, as I grew up for most of my life in California. For my undergraduate degree, I completed a double major in math and computer science at UC Davis. Meanwhile, I interned in industry for 3 summers, once at FileMaker, and twice at Apple, where I worked on the AppKit user interface library for macOS. After interning in industry I decided to pursue a PhD in computer science, and specifically programming languages, so I can work to drive the field forward in creating correct, safe, and secure software more easily.

Donald and Jingwen on mountain
Jingwen and I on top of 玉龙雪山

In addition to programming languages research, I like to somewhat regularly write blog posts about various topics, and I enjoy dabbling in machine learning, as well as abstract algebra and topology on the pure math side. Outside of academics I enjoy practicing martial arts (in particular Tai Chi, Wing Chun, and Taekwondo), playing music, and archery. I also love to travel with my amazing fiancée Jingwen Lin (a masters student in Food Science at UMass) to see awesome sights. Recently, we travelled all over China, seeing all sorts of both historic and scenic views, such as 玉龙雪山 (Jade Dragon Snow Mountain) pictured at right.