Education

Ph.D. in Computer Science

Research in binary translation. Advisor: Professor Michael Franz.

University of California, Irvine

Sep 2023 — Mar 2027 (expected)

B.S. in Computer Science

Specialization in Intelligent Systems.

University of California, Irvine

Sep 2016 — Dec 2020

Publications

Deterministic Fully-Static Whole-Binary Translation without Heuristics

To appear

ACM Transactions on Architecture and Code Optimization (TACO)

Hongyu Chen, James McGowan, and Michael Franz. The link goes to the arXiv preprint, an earlier version than the one TACO will publish.

Experience

GPU Code Generation

Intern, Backend Compiler Team

NVIDIA

Jun 2026 — Sep 2026

Binary Ninja Decompiler Infrastructure Enhancement

Intern · Melbourne, FL

Vector 35

Jun 2025 — Sep 2025

  • Implemented Xtensa register windowing support and enhanced call site analysis by designing complete register window rotation system with modified parameter recognition, enabling efficient calls analysis with overlapping register sets.
  • Architected ILTransparentCopy attribute system allowing SSA analysis algorithms to trace through architectural register assignments while preserving logical data flow, improving decompilation optimization accuracy.
  • Fixed ELF binary loader to correctly handle program headers and section addressing by modifying section-to-segment mapping logic, resolving NOTE section misclassification issues that caused incorrect memory layout analysis.
  • Enhanced constant folding optimization by implementing double-precision instructions evaluation in the intermediate representation, reducing unnecessary runtime computations and improving decompiled code quality.
  • Architected a scalable calling convention model using register classes and lists with separate ID spaces, enabling TriCore architecture support while benefiting all processor architectures and eliminating fallback to heuristics for function parameter identification.

Improve Linker Script Handling in LLD

Software Engineering Intern · San Jose, CA

Google

Jun 2024 — Sep 2024

  • Enhanced the lexer to handle complex linker scripts more efficiently, reducing errors and improving maintainability.
  • Replaced lambda-based expression handling with structured expression types, improving potential performance, reducing memory overhead, and enhancing debuggability.
  • Collaborated with upstream maintainers to ensure smooth integration of changes, addressing bottlenecks in the review and feedback process.

Laboratory Information Management System

Software Engineer · Irvine, CA

Burning Rock Dx

Sep 2020 — Sep 2021

  • Implemented the web service with Python, Flask on MySQL for laboratory information management.
  • Implemented RESTful API with Flask-WTForm, Flask-HTTPAuth, and Flask-Login for data collection and search.
  • Designed and managed the database models with Flask-SQLAlchemy, Flask-Migrate, and Python Shell.
  • Experienced in Agile development and maintained the new system version on Apache for staging environment.

Projects

Intel VTune Support to LLVM JITLink

Nov 2023 — Feb 2024

  • Integrated Intel VTune profiler support into JITLink for enhanced performance analysis.
  • Enabled profiling of JIT-compiled code using VTune’s API.
  • Developed a test based on existing LLVM JIT profiling tools.

SMPL Compiler

Jan 2023 — Mar 2023

  • Developed an optimizing compiler in C++ for the SMPL programming language.
  • Constructed a recursive descent parser, generating a Static Single Assignment(SSA)-based intermediate representation(IR) to facilitate advanced optimization techniques.
  • Transformed the program into an SSA form, ensuring each variable is assigned once, simplifying data flow analysis.
  • Utilized the SSA form to implement optimization, including copy propagation and common subexpression elimination.
  • Extended the compiler to support array operations, focusing on eliminating redundant array loads.
  • Developed a global register allocator, leveraging the SSA form to track live ranges, build interference graphs, and perform graph coloring for optimal register allocation.

Microbenchmark for Manycore System HammerBlade

Jun 2022 — Sep 2022

  • Explored and designed a runtime system for HammerBlade to facilitate swift task migration and reduce memory-to-icache transfers.
  • Implemented a microbenchmark in C to assess the trade-off between cache misses and core hopping.
  • Profiled and compared the performance difference between the normal execution model and the core hopping model.

Service

Skills

Languages

C/C++Assembly (x86/64, AArch64)PythonRustLinker ScriptsBluespecSQLShell Scripting

Frameworks & Tools

LLVMMLIRClangGCCGhidraCMakeNinjaValgrindMavenGitTensorFlowDocker