🦀 Catch me at RustConf '26 in Montreal!
🏆 I was awarded the NSF GRFP Fellowship!
🦀 Catch me at RustConf '26 in Montreal!
🏆 I was awarded the NSF GRFP Fellowship!
Miri is an interpreter for Rust that checks for undefined behavior in executable programs, but it can frequently have runtime overheads of over 1000x native execution. I'm collaborating with Owolabi Lengunsen's lab at Cornell on profiling Miri and implementing Tree Borrows more efficiently.
When Rust programmers write unsafe code or foreign function interfaces to C/C++, their programs are vulnerable to aliasing bugs that violate Rust's safety guarantees. BorrowSanitizer is an LLVM sanitizer for finding aliasing violations using the Tree Borrows model.
Can we use quantitative methodologies to decide which language features are idiomatic for a given programming language? We presented pairs of functional and imperative code snippets in Rust and conducted a code review quiz to find out which style is more readable! We also analyzed 1.5 million functions from open source Rust codebases to see which features were most commonly used across different contexts.
How can we make formal verification tools more accessible to hardware engineers? Russet is a formal verification tool for VHDL that represents specifications as Mealy machine state transitions. I interned again at LLNL in summer '25 to work on Russet's Haskell codebase and demonstrated its effectiveness by verifying the SPI protocol.
Are automated Rust verifiers usable by programmers without a formal methods background? At LLNL in summer '24, I conducted a case study using the Prusti and Creusot formal verification tools. Both tools were used to verify the correctness of the underlying union-find of an E-graphs implementation, egg. I found that while Prusti had a smoother developer experience, Creusot's formalisms made it easier to verify more complex properties.
Building on the work of REVIS and the error analysis study I conducted over summer 2023, I wrote a logging system in VS Code to gather data on IDE interactions, errors, and HIR inferences of Rust programmers participating in our study. Our goal is to identify programming decisions (and mistakes) correlate to learning progression in the Rust programming language!
What are the most frequent and costly errors for Rust programmers to fix, and how can we design tools to make debugging them more efficient? I analyzed 10,957 diagnostic messages recorded from students and categorized them into 1916 distinct debugging sessions to analyze error frequency and average time taken to resolve. As a result, I found that particular ownership errors are among the most frequent and take longer on average to fix.
To understand how VR users view privacy, we surveyed users of "metaverse" games to find out which circumstances meet or do not meet their privacy expectations. we found that greatest concern lies in how biometric data and third party data is handled, and those who use VR platforms more frequently have significantly lower privacy expectations than those who do only occasionally. In our workshop paper, we focused on children's privacy in gaming and VR.
I DJ for WRCT, our free-form college radio station at Carnegie Mellon. This semester, I'm playing experimental and electronic music at 3pm on Thursdays at 88.3 FM or streaming on wrct.org. You can find previous playlists for my current show, supersoaker or playlists from previous shows, discrete math and ethereal hour.
Overexposed in Studio A during AoTE '25.
During undergrad, I was involved in UCSD's cybersecurity club, ACM Cyber. As a board member, I organized teams for capture-the-flag (CTF) competitions. I also hosted workshops and gave talks on cybersecurity topics. Since 2023, I've also been writing challenges for SDCTF, UCSD's annual offensive hacking game!
Sometimes we forget to book a room for presentations (kickoff '24, SDCTF '25) and have to give them on one of the kiosks around campus that we pentested.
I've previously been a member of UCSD's amateur radio club, KK6UC, and now you can occasionally find me on top of Hamershlag hall with W3VC! I've been a licensed technician since 2023, and my callsign is KN6ZWF.
You found Hamershlag!