- Carnegie Mellon University
- Software and Societal Systems
- TCS Hall 224
Research
The Rust programming language is incredibly popular because it is fast and can statically eliminate memory safety errors. However, most critical systems code is still written in C and C++. To interoperate with these applications, Rust developers need to use a set of unsafe features that bypass Rust’s safety restrictions. If these features are used incorrectly, they can cause unique types of bugs by breaking rules of Rust’s aliasing model. Miri, a Rust interpreter, is the only tool that can detect these bugs, but it is slow and does not support most foreign function calls. I am researching and designing new tools for finding these aliasing bugs in multi-language Rust applications.
Recent Publications
Education
I attended the University of Wisconsin-Eau Claire from 2017 to 2021. I completed a double major in Computer Science and English with a minor in Mathematics. I was introduced to Computer Science research by Chris Johnson, and I helped contribute to the design of Twoville: a direct manipulation programming system for computer science education.
In 2020, I was accepted into CMU’s REUSE program, where I joined a collaboration between CMU and Arizona State University. We created TTPython, a macroprogramming systems for the Internet of Things. We used our prototype to implement a mock autonomous vehicle intersection and observed significantly reduced latency compared to a prior approach.
I began my PhD in Software Engineering at CMU in September, 2021. My current research on Rust is funded by the National Science Foundation’s Graduate Research Fellowship Program (GRFP). I’m advised by Jonathan Aldrich and Joshua Sunshine in S3D.