I am a Ph.D. candidate in Computer Engineering at Polytechnique Montréal. I focus on enhancing the P4 programming language and its compiler. I enjoy working at the intersection of systems, compilers, computer networks, and machine learning :)
Publications
- Modular Code Parser for the P4 Language [PDF]
- M. Rahmati, F.-R. Boyer, B. Pontikakis, J. -P. David, Y. Savaria, Presented at P4 Workshop 2023.
- P4Muse: Enabling Modular P4 Programming via Compiler-Managed Code Merging Without Syntax Modifications [PDF]
- M. Rahmati, F.-R. Boyer, B. Pontikakis, J. Pierre David, Y. Savaria, IEEE Access, Vol. 13, 2025, pp. 124138-124157.
Education
PhD Candidate in Computer Engineering
Polytechnique Montréal, Canada
May 2022 - PresentMSc in Computer Engineering
Shahid Beheshti University (SBU), Iran
Sept 2018 - Sept 2021BSc in Computer Engineering
Iran University of Science and Technology (IUST) and Semnan University, Iran
Sept 2012 - Jan 2017
Work Experience
- Research Assistant
Polytechnique Montréal, Canada
Apr 2021 - Present- Enhanced P4 language constructs for network devices using LEX, YACC, and IR classes in C/C++ and Python.
- Developed a complete object-oriented compiler with lexer, parser, symbol table, semantic analyzer, AST, and code generation.
- Designed and implemented P4 codes and control planes for network applications (Firewall and Load Balancer) in Software Switch, FPGA, and ASIC.
- Software Engineer
System Negar Sayna, Iran
Sept 2017 – May 2022 Research- Developed and tested intelligent software for data analysis using C++, Python, NumPy, and Pandas.
- Worked on software to analyze news and select articles according to user preferences using ML techniques with Scikit-learn, TensorFlow, and Keras.
- Research Assistant
Karlsruhe Institute of Technology (KIT), Germany
May 2020 – Sep 2020- Optimized multi-core processor performance under temperature constraints and improved ML-based models for application performance prediction.
- Improved and debugged the HotSniper simulator for Splash-2 benchmarks using C/C++.
- Analyzed power, IPS, and CPI, and visualized data with Python (Pandas, NumPy, Matplotlib).
Projects
- Created a Mutex and condition variables for the producer-consumer problem using C and Pthreads.
- Detected P2P botnets by discovering flow dependency in C&C traffic using Python and Scapy.
- Developed a WAV player in C for ARM Keil and implemented it on the STM32F4 Discovery board.
- Installed and configured dependencies for specific packages and modified GCC for compiling in Scientific Linux.
- Compared the performance of NoSQL data models for Big Data and analyzed different software architectures like REST and SOAP.
Volunteer Experience
- Instructor
Iran University of Science and Technology- Taught programming languages, English, and mathematics to students.
Contact
Feel free to reach out to me via academic email or personal email.