Naorin Hossain

Computer Science PhD Candidate

Princeton University


I am a Computer Science PhD candidate at Princeton University advised by Professor Margaret Martonosi. My area of research lies in Computer Architecture with a focus on hardware security and correctness verification for modern systems. Currently, I'm working on anomaly detection and mitigation for domain-specific SoCs. I have also worked on formal and empirical methods for correctness verification and validation, specifically for virtual memory systems. My work enables formal specification, formal verification, and empirical validation of correct event ordering in virtual memory systems.

Prior to graduate school, I worked with Professor Ulrich Kremer at Rutgers University where I received my BS degree in Electrical and Computer Engineering as well as Computer Science. Our work aimed to design a system for underwater autonomous glider interactions. In particular, we investigated optical solutions for enabling a leader-follower navigation implementation through underwater tracking.


  • Anomaly Detection and Mitigation for Domain-Specific SoCs
  • Formal Verification of Virtual Memory Systems
  • Formal Hardware Security Analysis and Exploit Synthesis


  • PhD in Computer Science, 2023

    Princeton University

  • MA in Computer Science, 2021

    Princeton University

  • BS in Electrical and Computer Engineering, Computer Science, 2018

    Rutgers University


Anomaly Detection

Domain-specific edge devices such as autonomous vehicles often have strict realtime deadlines to meet. To meet high computational needs …

Formalizing Transistency

Memory transistency models (MTMs) define correct event ordering behaviors that are captured by memory consistency models (MCMs) while …

Formal Methods for Hardware Security

Hardware security exploits have been in the spotlight since the announcement of the infamous Spectre and Meltdown exploits. These …


TransForm: Formally Specifying Transistency Models and Synthesizing Enhanced Litmus Tests

Updated August 2020
Memory consistency models (MCMs) specify the legal ordering and visibility of shared memory accesses in a parallel …



Research Intern

IBM Research

May 2022 – Aug 2022 Yorktown Heights, NY

Anomalous activity detection for domain-specific heterogeneous SoCs

  • NoC-based hardware counters and semi-supervised machine learning models for detecting anomalous activity resulting in compromised system availability
  • DoS attack detection in representative implementation of SoC for communication subsystem in connected autonomous vehicles

Localizing detected anomalous activity in domain-specific heterogeneous SoCs

  • Explainable machine learning techniques to extract impacted SoC locations based on hardware counter data used for detection

Research Intern

IBM Research

May 2021 – Aug 2021 Yorktown Heights, NY
Explored heterogeneous SoC anomalous activity detection and mitigation for EPOCHS

  • EPOCHS: agile methodology for designing and implementing domain-specific SoCs for real-time cognitive decision engines in connected autonomous vehicles
  • Anomalous activity detection: collected hardware performance data for analysis with machine learning techniques to detect compromised system availability
  • Developed microbenchmark tests for reporting accelerator performance on EPOCHS FPGA prototype

Research Intern


Jun 2020 – Aug 2020 Redmond, WA
CHERI + memory versioning: explored novel design for efficient temporal safety on CHERI systems

  • CHERI: replaces integer pointers with capabilities equipped with permission and bounds information, inherently offering spatial memory safety
  • Memory versioning for temporal safety: reduces frequency of full memory sweeps required for capability revocation when freeing memory by 2n×, where n is the number of version bits
  • Formal security analysis: Proposed a formal hardware-software contract for secure speculation on CHERI + memory versioning systems and presented a mathematical model of the system

Teaching Assistant

Princeton University

Feb 2019 – May 2019 Princeton, NJ
Designed and graded assignments, projects, and exams in COS 375 Computer Architecture & Organization course with Professor Margaret Martonosi

Research Assistant

Princeton University

Sep 2018 – Present Princeton, NJ
Advisor: Dr. Margaret Martonosi

  • Apply CheckMate tool to an Intel Sandy Bridge-like microarchitectural specification written in Alloy to synthesize TLB exploits
  • Synthesize candidate execution programs that account for hardware and OS operations arising from address translations
  • Develop a framework to formally define a transistency model for x86 processors using hardware testing and verification techniques

Teaching Assistant

Princeton University

Sep 2018 – Jan 2019 Princeton, NJ
Taught precepts, graded assignments and exams, and assisted students in COS 126 Computer Science: An Interdisciplinary Approach course with Professor Robert Sedgewick

Applications Engineer I Intern

Hamamatsu Photonics

Jun 2018 – Aug 2018 Bridgewater Township, NJ
  • Vein imaging demo software: developed MFC application with capability to display image(s) from board level scientific camera, view histogram data of 12-bit grayscale pixel values, adjust contrast of image, and print image
  • Wireless oscilloscope: high level design for wireless oscilloscope – analog input from Multi-Pixel Photon Counter (MPPC) module to digital output on Android application

Research Assistant

Rutgers University

Sep 2017 – May 2018 Piscataway, NJ
Advisor: Dr. Ulrich Kremer

  • Investigated swarming strategies and potential tradeoffs for autonomous, battery-operated underwater gliders to cooperatively navigate and achieve desired goals
  • Built and tested a simulation environment for a leader-follower strategy using optical communication technologies – specifically LED color detection using a camera and OpenCV

Software Developer Intern


Jun 2017 – Aug 2017 San Jose, CA
Information Management System (IMS) API Developer (Java):

  • Developed models, controllers, and handlers for a new wizard that is used to add/edit fields in transaction messages for updated version of existing application, IMS Explorer for Development (E4D)
  • Developed refresh functionality for catalog connection and navigation tool for upcoming version of IMS E4D

Computer Science Grader

Rutgers University

Sep 2016 – Dec 2016 Piscataway, NJ
Assisted with facilitating and reviewing course projects as well as grading exams for CS 431 Software Engineering course with Professor Alex Borgida

IT Intern


Jun 2016 – Aug 2016 Warren, NJ
  • Mobile Content Solutions QA Developer: enhanced user interface, added several features, and fixed security vulnerabilities for existing in-house testing automation web application; developed an algorithm for automating input parameter generation
  • Intern Hackathon: developed a suite of Alexa skills for the Amazon Echo involving various health assessments using Javascript

Mathematics Grader

Rutgers University

Jan 2016 – May 2018 Piscataway, NJ
Reviewed MATLAB-based assignments for Math 250: Introduction to Linear Algebra with Professor Lasantha Goonetilleke

IT Intern

NYC School Construction Authority

Jun 2015 – Aug 2015 Long Island City, NY
  • Business Analyst: documented user stories and translated them into use cases that could be developed against
  • Front End UI Developer: developed one of the user stories using standard web programming languages (Javascript/Angular.JS)