Research Areas

Firmware & Embedded Systems Security

I develop techniques and tooling for analyzing firmware at scale, including decomposition, capability extraction, component identification, and automated reporting. My work spans rehosting, emulation, FBOM/SBOM generation, and AI-assisted reasoning to accelerate vulnerability discovery across diverse embedded architectures.

Reverse Engineering & Binary Analysis

My research integrates static and dynamic analysis, control-flow and data-flow extraction, IR design, binary lifting, and structural similarity analysis. I focus on workflows that unify classical program analysis with modern automation and model-driven reasoning.

AI/ML for Cybersecurity

I apply large language models and machine-learning methods to automate tasks in reverse engineering and firmware triage. This includes vector matching, component classification, automated documentation, policy inference, and interactive reasoning engines that guide analysts through complex binaries.

Programming Languages & Compilers

My background includes DSL design, compiler construction, optimization systems, and intermediate representation (IR) engineering. I apply these principles to binary IRs (e.g., GTIRB), program rewriting, static numerical analysis, and pipeline optimization for large-scale analyses.

Emulation & Digital Twin Technology

I work on high-fidelity rehosting and digital-twin execution of embedded firmware. This includes peripheral modeling, hybrid analysis modes, deterministic replay, and integrating emulation into automated analysis pipelines for vulnerability research and system understanding.

HPC & Distributed Systems

Earlier research includes scalable algorithms for HPC systems, distributed genome assembly, MPI communication pattern analysis, and resilience techniques for large parallel codes. These foundations inform the scalability and robustness of my cybersecurity tooling.