About Me
I am a Ph.D. student in Computer Science at The University of Texas at Austin, advised by Prof. Emmett Witchel. I work on computer systems, especially operating systems and compilers, and I am broadening my research into distributed systems and machine learning systems.
I completed my undergraduate studies in Computer Science and Electrical and Computer Engineering at the University of Michigan and Shanghai Jiao Tong University. At Michigan, I worked with Prof. Ryan Huang at OrderLab, where I started ePass. Earlier in my undergraduate studies, I worked on game engine architecture with Prof. Manuel Charlemagne.
I enjoy designing and building powerful systems. I am also interested in programming languages for systems programming, and I currently write my new projects in Rust.
Research Interests
- Operating Systems: eBPF, Linux kernel
- Compilers: LLVM, compiler architecture, compiler optimization, static checking
- Game Engines: game engine architecture, multi-core game engines, functional programming game engines
News
- Dec 2025 Gave a talk on ePass at the Linux Plumbers Conference 2025.
- Sep 2025 ePass received a 2025 eBPF Academic Research Grant from the eBPF Foundation.
- Dec 2024 Received an Honorable Mention for the 2025 CRA Outstanding Undergraduate Researcher Award.
Publications
-
SOSP '26
Borges: A Low-Latency Distributed Shared Log on a CXL Memory/SSD Hybrid
Proceedings of the ACM SIGOPS 32nd Symposium on Operating Systems Principles (SOSP), 2026
-
AIOps '25
Automated Bug Discovery in Cloud Infrastructure-as-Code Updates with LLM Agents
IEEE/ACM International Workshop on Cloud Intelligence & AIOps (AIOps), 2025
Projects
-
ePass: An In-Kernel Compiler Framework for eBPF Programs
May 2024 – PresentePass is an in-kernel, LLVM-like compiler framework that introduces an SSA-based intermediate representation (IR) for eBPF programs. It provides a lifter that lifts eBPF bytecode to ePass IR, a pass runner that runs user-defined passes, and a code generator that compiles the IR back to eBPF bytecode. Users can write flexible passes with LLVM-like APIs to analyze and transform the IR.
ePass also provides an in-kernel supervisor that works with the verifier to improve its flexibility (i.e., fewer false rejections) and safety (i.e., fewer false acceptances at runtime). It can also run in userspace for testing.
-
Puka: Multi-Platform 2D Game Engine with Simplicity and Concurrency in Mind
Feb 2024 – May 2024Puka is an experimental 2D game engine designed to improve concurrency while keeping simplicity for its users.
Users write game logic as Lua scripts (called components) and specify the relationships between components; Puka then infers the best way to map components to CPU cores, creating one Lua virtual machine (VM) per core to execute game code.
Because Lua does not support multi-core execution, Puka performs automatic synchronization between Lua VMs. See the blog post for design details.
-
Messenger: A 2D Game Engine for Elm
Jun 2022 – PresentMessenger is a 2D game engine whose design borrows many concepts from operating systems. It introduces an architecture based on typed message passing, powered by the functional programming language Elm.
More than 100 students have used Messenger to build games; see the SilverFOCS Game showcase from 2023 onward.
-
Originally published in Chinese in New Stars of Mathematics, 2020
Starting from two olympiad geometry problems with the same structure, this paper characterizes the points P inside a triangle for which the line through P perpendicular to OP is divided by the cevian line EF and the side BC in a fixed 1:2 ratio. It gives several equivalent conditions, e.g., that the trilinear polar of P is parallel to its polar with respect to the circumcircle, and shows that all such points lie on the Thomson cubic.