Research

Union-Find and Usability: A Verification Case Study

Are automated Rust verifiers usable by programmers without a formal methods background? At LLNL, I conducted a case study using the Prusti and Creusot formal verification tools. Both tools were used to verify the correctness of a union-find implementation within the E-graphs project, egg. I found that while Prusti was more user-friendly in terms of UI, Creusot made it easier to verify more complex properties.

Situationally Adaptive Language Tutor (SALT)

Building on the work of REVIS and the error analysis study I conducted over summer 2023, I designed a custom logging system for programmer actions in VS Code to gather minimally invasive data on IDE interactions and compiler errors made by Rust programmers participating in our study. My lab is currently working on discovering which programming decisions (and mistakes) correlate to learning progression in the Rust programming language!

Rust Compiler Error Analysis

What are the most frequent and costly errors for programmers to fix, and how can we design tools to make debugging them more efficient? I analyzed 10,957 Rust diagnostic messages recorded from students and categorized them into 1916 distinct resolution sessions to analyze error frequency and average time taken to resolve. As a result, I found that ownership errors, while less frequent, took longer on average to fix.

Privacy Perspectives in VR

To understand how VR users and gamers view personal privacy, I surveyed 40 participants to find out which circumstances meet or do not meet their privacy expectations. I 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 WIPS paper, we focused on children's privacy in gaming and VR.

Student Orgs

ACM Cyber

I've been involved with running my school's cybersecurity organizations since junior year of high school! As a board member of ACM cyber at UCSD, I've organized teams for capture-the-flag (CTF) competitions in addition to hosting talks and workshops for other undergrads interested in cybersecurity. For the last two years, I've also been writing challenges for SDCTF, UCSD's annual offensive hacking game!

Writeup for the above challenge. Also in SDCTF 2024, my neocities site with a secret OSINT chall.

KK6UC

I'm also a member of the UCSD amateur radio club, KK6UC! I've been a licensed technician since 2023 and my call sign is KN6ZWF. Some of my favorite events are the seasonal field days and we're currently working on hosting a WinLink gateway on our repeater and restoring our software-defined radio (SDR) antenna.

Projects and Hacks

DiamondHacks

At DiamondHacks 2024, we built Pedal Pirates, a web app for keeping track where and when bike thefts occur on campus through publicly available police logs and crowd-sourced data. It was my first time working with REACT. We won first place in the security category! I hope to get this permanently hosted for the following school year and beyond!

Sean is in a lot of these hackathon photos. He is the GOAT sheep.

Red Pitaya

In this 24 hour hackathon, I worked on the IR morse tranciever hardware, powered by the Red Pitaya FPGA board. With one hour left and most of our teammates jumping ship, we were able to synthesize the work of two teams and demo a transmitter written in VHDL with a JavaScript interface, and a reciever using SCPI to translate the signal. In the end we won first place!

H.A.R.D. Hack

After a trip to Round One, we were inspired to make different types of controllers to change the way we interact with browser-based games. We demoed a rhythm game using Infineon's CAPSENSE sensors and the SerialPort API. We won second place for the Infineon challenge!