About
I am a fourth-year Ph.D. student in Computer Science at the University of Wisconsin–Madison and a member of the MadPL Group.
I am broadly interested in the principles and techniques of programming languages, and in using them to reason about computing systems and improve their security and efficiency.
My research includes programming language principles and tools for quantum computing, under the supervision of Charles Yuan. My work explores time-space trade-offs for checking quantum assertions. My recent work also includes MBUndo, a sound, automatic, and efficient compiler pass for measurement-based uncomputation that reduces the cost of uncomputation in quantum circuits.
My earlier research focused on pointer analysis algorithms and their foundations. This work includes Cut-Shortcut, a fast and precise approach to pointer analysis for object-oriented languages, and Cut-Shortcut-S, which models Java Streams and their interaction with lambda expressions for precise static analysis. At Wisconsin, I earned an M.S. and worked with Thomas Reps on pointer analysis algorithms. Before coming to Wisconsin, I received both a B.E. and an M.E. in Software Engineering from Nanjing University, where I worked with Yue Li and Tian Tan as a member of the PASCAL Research Group.
I am also interested in programming language support for LLM-based AI systems. In Imprompt, we designed a structured prompt programming language that separates task descriptions from execution details.
Publications
-
arXiv · 2026
MBUndo: Sound, Automatic, and Efficient Measurement-Based Uncomputation for Quantum Circuits
How can we clean up temporary quantum values without paying the cost of reversing the computation that produced them? We present MBUndo, the first compiler pass that performs measurement-based uncomputation automatically. It finds when each temporary qubit can safely be measured and then replaces its unitary uncomputation gates with cheap in-place phase corrections. Across 22 benchmarks, this transformation used 40% fewer T gates than the unitary uncomputation circuits did.
-
arXiv · 2026
The Time-Space Complexity of Checking Multiple Assertions in Quantum Programs
How many program executions or extra qubits do we need to learn the outcomes of n assertions in a quantum program? We show that the answer hinges on what information we want to extract and characterize the complexity of different tasks. The complexity is logarithmic for detecting whether any assertion fails or finding the first failure, and linear for reporting all assertion outcomes.
-
TOPLAS ’26
Cut-Shortcut Whole-Program Pointer Analysis: Re-imagining Context-Sensitivity without Contexts
How can we support modern language features such as streams and their interaction with lambda expressions in pointer analysis for Java? We extend the Cut-Shortcut approach to provide a full static model of Java stream behavior that tracks how objects flow through different stream pipelines, enabling precise pointer analysis for Java programs with heavy stream use.
-
PLDI ’23
Context Sensitivity without Contexts, A Cut-Shortcut Approach to Fast and Precise Pointer Analysis
Context-insensitive pointer analysis is fast but imprecise, while context-sensitive pointer analysis is precise yet inefficient. Can we have an approach that offers both benefits? We provide Cut-Shortcut, a novel pointer analysis algorithm based on manipulating edges in the pointer-flow graph. Cut-Shortcut is even faster than context-insensitive analysis on most benchmarks and achieves precision comparable to that of context-sensitive analysis.
-
Quantum Assertion Testing Without Mid-Circuit Measurement: Strategies and Lower Bounds
-
arXiv · 2026
Imprompt: A Language Framework for Prompt Programming
Services
- Artifact Evaluation Committee
- SAS'25, PLDI'26.
- Journal Reviewer
- TOSEM.
- Teaching Assistant
- Static Analysis (2021 Fall), Java programming (2023 Fall), Introduction to the Theory and Design of Programming Langugaes (2024 Spring, 2024 Fall, 2025 Spring, 2025 Fall)
Projects
Undergraduate Thesis at Nanjing University
- Hymers: a hybrid heap abstraction tool to accelerate pointer analysis by dividing abstract heaps into different categories to apply corresponding abstraction methods.
Master Thesis at Wisconsin-Madison
- A Static Modeling of Java Streams: a static modeling of Java streams in pointer analysis, modeling all kinds of stream pipeline operations to track stream input-output relations.
Competition Projects
- A Side-Scrolling Tactical RPG: a game developed by Unity, lead an 8-person team to win 1st place in Game Development Contest by Thunder Fire Studio, NetEase & Nanjing University.
- Campus Vacant Classroom Wayfinding App: an Android App using WIFI detection to locate the user’s position in buildings, and enabling in-building navigation for vacant classrooms, won 1st place in hackathon by Academic Collaboration Dept., Microsoft Research Asia & Nanjing University.
Selcted Course Projects
- OCEANIA: a web system to visualize the call-graph of a given program uploaded by users. Led a 3-person team and impelemented 2 call-graph construction strategies (a fast code traversal solution and a precise pointer analysis solution).
- Online Cinema System: a 2KLOC web system that releases, schedules, and sells tickets for cinema.
- Online Judge System: as the scrum manager, help a 4-person team to complete an agile software process in developing an online judge system in 2 sprints, using Zenhub, Kanban and burndown charts.
- Test Impact Selction Tool: leveraged static analysis framework WALA to design and implement a tool that selects test cases impacted by a given change.
Hobbies
- Video Games: Soulsborne, crpg, fire emblem, card games.
- Science Fiction & Detective Novels: Ted Chiang, 小林 泰三, 西泽 保彦, 江户川 乱步, 京极 夏彦
- I’m learning electric guitar