I am a Postdoc in Prof. Gang (Gary) Tan's group at Penn State CSE.
I earned my Ph.D. from the Computer Science and Engineering Department at The Pennsylvania State University in Dec 2024 (Started Aug 2020). I am very fortunate to be advised by Prof. Trent Jaeger and Prof. Jack Sampson.
I also work closely with Prof. Mathias Payer at EPFL, Prof. Zhiyun Qian at UC Riverside, Prof. Danfeng Zhang at Duke University, Prof. Saeid Tizpaz-Niari at the University of Illinois Chicago, Prof. Bin Li at Penn State, Prof. Mahdi Imani at Northeastern University, Prof. Tian Lan at George Washington University, Dr. Derrick McKee and Dr. Hamed Okhravi at MIT Lincoln Laboratory.
My research develops validation-driven security techniques for software and AI-enabled systems where complete end-to-end verification is often impractical. A central theme of my work is to use program analysis and verification to identify which behaviors, objects, or operating conditions can be trusted, and to focus stronger protection on the remaining security-critical state. This approach enables practical security guarantees without requiring every component of a complex system to be protected or verified in the same way.
I first developed this methodology for software memory safety, where my work determines when memory objects can be safely excluded from expensive protection and concentrates enforcement on the objects that remain vulnerable. I have since extended the same principle to broader systems-security problems and to AI-enabled systems, where assurance must account not only for program behavior but also for learned decision boundaries, uncertain inputs, and deployment variations. Across these settings, my goal is to determine what can be guaranteed, under what conditions, and how those guarantees can be enforced in practice.

Security does not always require proving everything, nor applying protection uniformly.
It requires knowing what is safe,
what remains uncertain, and where stronger protection should be applied.
My work began with memory safety, where I developed analyses that identify which memory objects can be proven safe and which still require runtime protection. This makes comprehensive protection practical by concentrating cost only where it is needed.
I have since extended this idea beyond memory safety to software and system security, verification, binary analysis, fuzzing, and AI-enabled systems. Across these settings, I am interested in how partial knowledge can be turned into useful guarantees and how the remaining uncertainty should guide protection and enforcement.
My research asks how strong security and safety guarantees can remain practical when complete verification is infeasible. Across software, systems, and AI-enabled applications, I use analysis and verification to separate what can be trusted from what still requires protection, monitoring, or uncertainty-aware reasoning.
Use static and dynamic analyses to determine which program objects, behaviors, and interfaces can be proven safe, isolate the remaining security-critical state, and concentrate protection only where it is needed. The goal is strong end-to-end security guarantees at practical deployment cost.
Determine the operating conditions under which learned models can be trusted. I synthesize runtime-enforceable input regions and combine deterministic verification with calibrated probabilistic guarantees to support deployment under uncertain and evolving conditions.
Recover and reason about security-relevant behavior when source-level semantics, execution evidence, or ground truth is incomplete. My work combines binary analysis, postmortem evidence, and testing evidence to distinguish what is known, what remains unresolved, and where residual security risk remains.
Continuous assurance for evolving systems and software: develop change-aware incremental analysis that identifies which previously established guarantees remain valid after software updates, which assumptions have been affected, and which parts of the system require selective re-analysis or re-verification. This can avoid repeatedly validating an entire system from scratch as code, dependencies, configurations, and deployment conditions evolve. I also plan to explore validated generative reasoning, where generative AI proposes candidate invariants, attack paths, program relationships, or analysis hypotheses to expand the search space, while independent static, dynamic, and formal analyses validate those candidates before they are incorporated into a security guarantee.
Representative work across software and systems security, program analysis, verification, fuzzing, and safety assurance for AI-enabled systems.
Synthesizes runtime-enforceable operating regions for recurrent models, combining deterministic verification with probabilistic guarantees under uncertainty.
Systematically analyzes where eBPF memory-safety guarantees break down and identifies paths toward stronger and more practical protection.
Proves large classes of heap objects safe and concentrates expensive memory protection on the state that cannot be statically validated.
Identifies stack objects that can be validated as safe and isolates them from unsafe memory operations to provide comprehensive protection.
Develops the broader validation-driven memory-safety methodology: establish which program state is provably safe and focus protection on the unresolved remainder.
Extends verification to temporal mixed-reality models and derives actionable constraints on operating conditions for safe deployment.
Uses probabilistic reasoning to quantify the residual risk that undiscovered behaviors remain after fuzzing and to guide subsequent testing.
Exploits Rust ownership and lifetime semantics to identify risky pointers and selectively enforce spatial and temporal memory-safety checks.
Extends comprehensive memory-safety reasoning across both architectural execution and speculative execution.
Automates kernel–driver decomposition and identifies the interactions that require secure interface handling across isolated compartments.
Provides probabilistic safety reasoning for cybersickness in VR under uncertainty in users, environments, and operating conditions.
Models user engagement under cognitive attacks and derives conservative safe-operating intervals for controllable mixed-reality parameters.
Develops certified monitoring of gaze behavior under cognitive attacks, connecting adversarial conditions in mixed reality with verifiable safety and security guarantees.
Models post-exposure cybersickness and recovery trajectories to extend safety assurance beyond an MR session and reason about when users can safely recover from extended exposure.
Open-source systems, analysis frameworks, and reproducible artifacts developed across my research in software and systems security.
Unified implementation integrating DataGuard, Uriah, and Global for comprehensive memory-safety analysis and validation.
GitHub ↗ MIT LL · KERNEL SECURITYJoint project with MIT Lincoln Laboratory combining hardware-assisted kernel compartmentalization with static memory-safety validation to eliminate unnecessary runtime checks.
Code ↗ NDSS 2022Analysis and runtime isolation system for identifying and protecting safe stack objects.
Code ↗ CCS 2024Analysis and runtime allocation system for identifying and protecting safe heap objects.
Code ↗ USENIX SECURITY 2024Analysis-guided framework for combining spatial memory-safety defenses under a constrained protection budget.
Code ↗ OSDI 2022Analysis and enforcement infrastructure for automatically identifying and isolating device-driver components.
Artifact ↗ LLVM 14 · STATIC ANALYSISModular inter-procedural program dependence graph from CCS 2017, ported and maintained for the LLVM 14 toolchain.
Code ↗ EMBEDDED SYSTEMSMemory-safety enforcement for embedded devices from ASIA CCS 2017, ported to modern LLVM-based analysis infrastructure.
Code ↗I am a Postdoctoral Scholar at Penn State, working with Prof. Gang Tan. I earned my Ph.D. in Computer Science and Engineering from Penn State, advised by Prof. Trent Jaeger and co-advised by Prof. Jack Sampson.
My broader goal is to make strong security guarantees usable in real systems: identify what can be proven, isolate what cannot, and connect verification results to practical enforcement.