I study the safety and security of cyber-physical systems.
I’m a Computer Science PhD student at the
University of Utah’s
IOTrust Lab, advised by
Prof. Luis Garcia. My research focuses on system verification and safety
falsification for robotic and autonomous systems. My engineering
background spans embedded Linux, firmware, and software platforms.
A robot’s safety depends on its software and its physical behavior. I
study how much of each we need to model to find a violation of a
specific safety property.
Control logic and physical state, reduced around a safety
property.
Nazmus Shakib Sayom &
Luis Garcia SmartSP 2025 · Springer LNICST 699, pp. 21–40 Published
online September 2026
We isolate the controller logic and physical dynamics relevant to
a safety property, then test a lightweight executable surrogate.
In the drone case study, battery level, altitude, and
emergency-control logic are enough to reproduce a flaw: an
altitude check blocks parachute deployment despite critical
battery. Property-guided fuzzing finds these violations at a
fraction of the full simulation cost.
I develop reductions of control logic and physical dynamics around
specific safety properties. These smaller models make it possible
to search for violations efficiently, then check counterexamples
against the original system. My work involves robotic control
stacks, including
PX4
and
ArduPilot, and software-in-the-loop simulation.
Safety policy verification
I investigate how to formalize safety policies in multi-robot
systems where operators have different roles, permissions, and
constraints. This includes reasoning about policy conflicts and
runtime monitoring for settings such as autonomous vehicle fleets
and drone swarms.
Reverse engineering
I’m interested in connecting binary analysis with cyber-physical
models to guide vulnerability discovery. Relevant techniques
include static analysis, symbolic execution, firmware emulation,
and model-guided fuzzing, using tools such as
Ghidra,
QEMU,
Unicorn, and
AFL++.
Research software, embedded systems, language tools, and computer
vision applications.
Language tooling
Obadh
Bangla typing apps for iPhone, iPad, and Mac, powered by a
shared Rust engine. The rule-based transliteration core has
separate correction and suggestion layers, with a C ABI for
native apps and WebAssembly support for the web.
A drone simulator and reduced execution pipeline for testing a
known parachute-deployment flaw. Includes telemetry, trace
visualization, and a property-guided fuzzer for reproducible
safety experiments.
A custom Linux OS hosting a service that makes sensitive
peripherals accessible to kiosk applications across operating
systems. Built and maintained for enterprise ARM single-board
computers, with security hardening, reliable OTA updates at
scale, and integrations for document scanners, banknote
recyclers, and other devices.
C++
Python
Yocto
MQTT
Docker
Mender
Robotics perception study
World models for robotic perception
A perception-testing pipeline connecting
NVIDIA Cosmos
video generation on HPC GPUs with a Webots robot controller.
Uses asphalt, glare, and Mars-like scenarios to probe visual
robustness, with steering-error analysis, odometry-based
trajectory reconstruction, and synchronized comparisons.
A local messaging tool for Claude Code and Codex sessions. It
discovers running sessions, routes messages through their native
transports, and records delivery events and correlated replies
in a SQLite journal.
An HTTP interface to
OpenFace’s facial-behavior analysis tools. It wraps the C++
command-line executable and returns eye-gaze and head-pose
measurements through a single API endpoint.
How can a controller share a consistent state snapshot with a
monitor on another core? This study compares five publication
designs, including seqlocks, double buffering, and DMA mirrors,
under interference.
A disaster victim tracking and rescue-support system developed
for my undergraduate thesis. It combines ESP32-based devices
with LoRaWAN, Bluetooth Low Energy, and GSM communication,
exploring how multiple wireless links can support location
reporting during emergencies.
ESP32
LoRaWAN
BLE
GSM
Concept artwork
Embedded systems
DePen
A portable optical text scanner built with a Raspberry Pi Zero.
It uses a camera, OpenCV, and Tesseract to recognize text on
printed pages and look up word definitions.
An Arduino walkie-talkie using the nRF24L01+ 2.4 GHz radio. The
project combines audio capture, radio transmission, and custom
pre-amplification in a multi-channel communication device.
A wireless remote-control prototype for Android TV, combining
keypad input and push-to-talk audio over a 2.4 GHz radio link.
Includes transmitter and receiver firmware, microphone
amplification circuitry, and a documented protocol for carrying
button events and voice data.
A desktop application for reading scanned multiple-choice answer
sheets. Its Visual Basic interface uses an OpenCV
image-processing core to analyze marked responses on predefined
and customizable bubble sheets.
Doctoral research on cyber-physical systems safety and security,
developing property-guided falsification and verification
methods for robotic and autonomous systems.
Developed and maintained a custom embedded Linux OS for
enterprise ARM platforms, including
Yocto-based builds, security hardening, and reliable OTA updates for
large-scale deployments. Developed multithreaded C/C++ and
Python services that made peripherals accessible across host
operating systems. Worked with QA and hardware vendors on driver
development, benchmarking, and system stability.
I’m interested in research collaborations and PhD internships in
systems, security, and robotics. If there’s a problem you think I
could help with, I’d like to hear about it.