I develop program analysis techniques for finding bugs and vulnerabilities in complex systems software. My recent work, The Hitchhiker's Guide to Program Analysis, is a three-part preprint series on practical bug detection for the Linux kernel and related systems. This work motivates my broader interest in how LLMs can help developers detect, localize, and reason about failures in large software systems.
How should we build software when AI becomes part of the engineering process?
AI agents are becoming part of the software stack. I study how to make these systems reliable: using LLMs to help developers find and reason about bugs, and developing software engineering practices for evaluating, debugging, and maintaining agentic systems.
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 is a structured LLM-guided post-refinement framework for improving the precision of taint-style static bug detection in the Linux kernel.
LLift integrates LLMs with static analysis to improve practical bug detection in large codebases such as the Linux kernel.