I develop program analysis techniques for finding bugs and vulnerabilities in complex systems software. A central line of my Ph.D. research is The Hitchhiker's Guide to Program Analysis, a three-part research series on practical bug detection for the Linux kernel and related systems, with the first two parts published at OOPSLA and ASE. This line of work motivates my broader interest in how LLMs can help developers detect, localize, and reason about failures in large software systems.
Principled LLMs for reliable systems software.
AI now helps write, analyze, and break our software. I work on making software reliable. My research builds LLM-assisted program analysis precise enough for real systems software like the Linux kernel, keeping the model inside a principled analysis workflow rather than leaning on prompting; I'm now extending the same discipline to the software that agents themselves write and run. Whether AI finds bugs or introduces them, reliability is won at the seam between learned reasoning and principled analysis.
I am a PhD student in Computer Science at UC Riverside, advised by Prof. Zhiyun Qian. Before joining UCR, I received my B.Eng. from SUSTech, where I also worked with Prof. Fengwei Zhang as a research assistant.
Research
As AI agents become part of software workflows, they introduce new failure modes, security risks, and engineering challenges. I study methods and practices for evaluating, debugging, and maintaining these systems.
Selected work
We discuss a more principled approach to integrating LLMs (i.e., mostly harmless LLMs) with static analysis for practical bug analysis in large codebases.
BugLens guides LLMs through structured reasoning steps to post-refine taint-style static analysis reports in the Linux kernel.
LLift integrates LLMs with static analysis to improve practical bug detection in large codebases such as the Linux kernel.