• Present Sep. 2015

    Graduate Research Assistant at the University of Michigan ― Ann Arbor, MI

    Real-Time Computing Laboratory

    I take a red-team/blue-team approach to explore how autonomous cyber-physical systems can be attacked and defended through the foundational hardware they rely on. Specifically I research signal injection attacks on cyber-physical systems, and hardware Trojan attacks/defenses throughout the hardware design process.

  • May. 2019 Sept. 2019

    Graduate Research Intern at MIT Lincoln Laboratory ― Lexington, MA

    Cyber-Physical Systems

    Developed automated verification tools to vet un-trusted 3rd party hardware IP.

  • May. 2018 Sept. 2018

    Graduate Research Intern at MIT Lincoln Laboratory ― Lexington, MA

    Cyber Systems & Operations

    Developed a routing-based defense against fabrication-time attacks like the A2 hardware Trojan.

  • May. 2017 Sept. 2017

    Graduate Research Intern at MIT Lincoln Laboratory ― Lexington, MA

    Cyber Systems & Operations

    Developed automated tools to assess the vulnerability integrated circuit layouts to fabrication-time modification (e.g., insertion of a hardware Trojan).

  • May. 2015 Aug. 2015

    Software Engineering Intern at Microsoft ― Bellevue, WA

    Windows Devices Group

    Worked on the Windows IoT Core team to design and develop point-of-sale (PoS) device emulators for Visual Studio and Windows 10.

  • May. 2014 Aug. 2014

    Software Engineering Intern at Microsoft ― Redmond, WA

    Operating Systems Group

    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 Jan. 2014

    Undergraduate Teaching Assistant for ECE 362 ― Purdue University

    I served a teaching assistant for the Microprocessor Systems and Interfacing class (ECE 362). I taught students how to interface microcontrollers with peripheral components such as LCD screens, external memory devices, and stepper motors. We taught them how to write firmware for ADCs, interrupt controllers, PWM modules and other microcontroller peripherals. Students completed a project at the end of the course that demonstrated their embedded systems design skills. As a student in the class the previous semester, my teammates and I created a water jet audio visualizer cleverly named the Aqualizer.

  • Aug. 2013 Dec. 2013

    Undergraduate Teaching Assistant for ECE 270 ― Purdue University

    I served a teaching assistant for the Introduction to Digital System Design class (ECE 270), where I taught students about combinational and sequential logic. Students learned to use CPLDs to implement various digital circuit designs they created using ABEL, a hardware description language. By the end of the course students had the opportunity to design a simple, single cycle processor.

  • May. 2013 Aug. 2013

    Software Engineering Intern at GE Healthcare ― Barrington, IL

    Designed and developed a software development life-cycle reporting tool, for use by agile scrum teams, to automate the production of Design History Files required to meet FDA healthcare software regulations. Developed a Python back-end to parse Agile process artifacts, test requirements, and results, that were dumped into a custom internal facing web UX.