Ahmed Tamrawi is a software security researcher, instructor, and a seasoned full-stack developer with experience across multiple domains. He has extensive experience in program analysis for safety and security to: (1) verify the safety and security of industrial software such as the Linux kernel, and (2) detect novel and sophisticated algorithmic complexity and side channel attacks in Java applications and malware in Android applications. Ahmed also has experience working on two high profile US Department of Defense DARPA programs: Automated Program Analysis for Cybersecurity (APAC) and Space/Time Analysis for Cybersecurity (STAC) programs.
Ahmed Tamrawi is currently an R&D engineer at ENSOFT and a part-time lecturer at the ECE department at Iowa State University.
At ENSOFT, he has contributed to the development of advanced program analysis platforms, including Atlas, a framework for software comprehension, verification, and security analysis, and Atlas Binary, a novel binary analysis and rewriting framework. His work also involved extending SimDiff, a tool for visualizing and analyzing differences between Simulink models, making it more amenable to DevOps automation and team collaboration. In addition, he worked on Simhance, for automatically transforming Simulink models to support standards compliance and modernization; and Modelify, for translating C code into Simulink models. In these roles, he collaborated closely with industry clients in automotive and aerospace to improve software safety, compliance, and maintainability.
As a Lecturer at Iowa State University, Ahmed Tamrawi is currently teaching Software Analysis and Verification for Safety and Security and has authored a draft textbook, Software Security: From Vulnerabilities to Static Analysis. He has also taught Software Maintenance and Evolution, where he emphasizes modern practices in managing legacy systems, refactoring, and long-term software reliability.
His past work experience includes: assistant professor at Birzeit University, assistant professor at Yarmouk University, a software development engineer intern at Amazon, a research and teaching assistant at Iowa State University, research and development engineer at G.ho.st, and software development engineer intern at MBRM
Ahmed holds a PhD and MSc degrees in Computer Engineering from Iowa State University, and B.S in Computer Engineering from Yarmouk University. His MSc research was focused on developing novel bug triaging and build code analyses. His PhD research resulted on the development of a novel compact software graph called the Projected Control Graph and the design of the L-SAP tool for fast, scalable, and efficient evidence-enabled verification for the Linux kernel.
Want to find more about Ahmed, then read through his Teaching Statement, Reasearch Statement, and Two-Page CV.