• Present Sept. 2015

    Graduate Research Assistant — University of Michigan — Ann Arbor, MI

    RTCL LaboratoryAdvisor: Kang G. Shin
    My research aims to ensure the integrity of integrated circuit hardware throughout the design and deployment lifecycles to facilitate a secure foundation for autonomous cyber-physical systems.

  • Sept. 2020 May 2020

    Research Intern — Google — Cambridge, MA

    Team: OpenTitanSupervisors: Alex Chernyakhovsky and Garret Kelly
    Description: Developed GCP-based infrastructure (similar to OSS-Fuzz) to fuzz software models of RTL hardware at scale using software fuzzing tools.

  • Sept. 2019 May 2019

    Graduate Research Intern — MIT Lincoln Laboratory — Lexington, MA

    Team: Cyber-Physical SystemsSupervisors: Kevin B. Bush and Matthew Hicks
    Description: Developed an automated verification tool called Bomberman to vet untrusted RTL hardware for Ticking Timebomb Trojans (TTTs).

  • Sept. 2018 May 2018

    Graduate Research Intern — MIT Lincoln Laboratory — Lexington, MA

    Team: Cyber-Physical SystemsSupervisors: Kevin B. Bush and Matthew Hicks
    Description: Developed two layout-level defenses— T-TER and IC Portholes—against stealthy fabrication-time attacks like the A2 Trojan.

  • Sept. 2017 May 2017

    Graduate Research Intern — MIT Lincoln Laboratory — Lexington, MA

    Team: Cyber-Physical SystemsSupervisors: Kevin B. Bush and Matthew Hicks
    Description: Developed an automated toolchain, called ICAS, to assess the vulnerability integrated circuit layouts to fabrication-time modification (e.g., insertion of a hardware Trojan).

  • Aug. 2015 May 2015

    Software Engineering Intern — Microsoft — Bellevue, WA

    Team: Windows Devices Group — Supervisor: Ted Roberts
    Description: Worked on the Windows IoT Core team to design and develop point-of-sale (PoS) device emulators for Visual Studio and Windows 10.

  • Apr. 2015 Jan. 2014

    Undergraduate Researcher — Purdue University — West Lafayette, IN

    Department: Electrical & Computer Engineering — Supervisor: Prof. Cheng-Kok Koh
    Description: Developed place-and-route algorithms, used by VLSI CAD tools, to automate and optimize integrated circuit layout.

  • Aug. 2014 May 2014

    Software Engineering Intern — Microsoft — Redmond, WA

    Team: Operating Systems Group — Supervisor: Mike Dice
    Description: Worked on the Membership Assistance and Connections team to design and develop a web UX customer support feature for Windows 10, and its supporting back-end.

  • May 2014 May 2014

    Undergraduate Teaching Assistant — Purdue University — West Lafayette, IN

    Class: Microprocessor Systems and Interfacing (ECE 362)Supervisor: Prof. David G Meyer
    Description: Taught students how to interface microcontrollers with peripheral components such as LEDs, LCD screens, non-volatile memory, and stepper motors, and how to write firmware for ADCs, interrupt controllers, PWM modules and other microcontroller peripherals. As a student in the class the previous semester, my teammates and I created a water jet audio visualizer cleverly named the Aqualizer.

  • Dec. 2013 Aug. 2013

    Undergraduate Teaching Assistant — Purdue University — West Lafayette, IN

    Class: Introduction to Digital System Design (ECE 270)Supervisor: Prof. David G Meyer
    Description: Taught students about combinational and sequential logic, how to use Programmable Logic Devices (PLDs), and how to implement various digital circuit designs usin ABEL, a hardware description language.

  • Aug. 2013 May 2013

    Software Engineering Intern — GE Healthcare — Barrington, IL

    Supervisor: Anand Desikan
    Description: Designed and developed a software development life-cycle reporting tool (using a Python backend combined with a web UX) for use by agile scrum teams, to automate the production of Design History Files required to meet FDA healthcare software regulations.