Go to the top

Welcome to My VSpace!

I am passionate about discovering the world and empowering people

About Me

  • Name: Dr. Majid Babaei
  • Email: majid.babaei@mcgill.ca
  • Date of birth: 11 Sep. 1988
  • Address:
    McGill University,
    School of Continuing Studies,
    680 Sherbrooke St W 11th Floor,
    Montréal, QC, Canada H3A 2M7.

Short Bio

I was born in Tehran (Shemiran), the capital of Iran, in 1988. I have obtained my Ph.D. in December, 2021, in software Engineering at the school of computing, Queen's University, Canada, under Professor Juergen Dingel supervision. My Ph.D. thesis was on Regression Testing of Distributed Real-Time Embedded Systems in the Context of Model-Driven Development.

Recently, I have joined School of Continuing Studies at McGill University where I work as a Faculty Lecturer in Technology and Innovation Group.

During my Ph.D. studies I have been involved in many industrial and academic projects such as:

Before I moved to Canada, I worked for one year in the Internet of Things (IoT) department at Bosch Engineering GmbH in Germany. Meanwhile, I have completed 6-month internship and 6-month master thesis that gave me an exceptional opportunity to explore fundamental concepts of Big Data Analytic, Artificial Neural Networks, and Deep Learning. Before that, I had the opportunity to work for around 2 years as a software developer at EPAK GmbH which is a satellite communication company based in Leipzig. During this time, I have implemented some software systems in Python and C/C++ programming languages to provide reliable satellite communication. Moreover, I have implemented a web-based content management system using PHP, MySQL and JavaScript programming languages.

I obtained my Bachelor degree (B.Sc.) from Shahrood University of Technology in Iran, in the field of Software Engineering. After my graduation, I joined Farazpajohan, a software tech startup company in Sharif University of Technology, where I've started my first professional position and worked for around 3 years. In this company I have been responsible for developing PKI-based Digital Certificate solutions in CentOS Linux environment.

Download resume as PDF format

Our Approach

Ideas and Research

We work closely with academia and industry to identify the discoveries and new technologies that are solution enablers.


Our knowledge of how our customers will use a product—including their environment and operational constraints—informs how we conceptualize the solution.

Design and Prototype

Our modeling and simulation capabilities support rapid incorporation of new ideas and user feedback into virtual systems, demonstrable solutions, and fielded prototypes.


End-use of a product informs how we approach its transition to the field. We work with outside companies to prepare our prototype design for high-volume mass production, or can produce the device in-house when only limited quantities are needed.


Our time spent in the field with sponsors provides them with critical technical support and provides us with valuable insight into the future needs of those customers.


14 Years Experience!

I've been involved in many different projects rangin from Software Engineering to Artificial Intelligence and Mind Wandering.


2023 - 2024
Dapper is a subscription-based application that delivers personalized outfits based on personal preference. The outfits proposed would be tailored by fashion stylists to the user's individual fashion preferences, current season, preferred colors, size, and subscription level.
List of the related papers [1] Amine Benakmoum, Ryad Ammar, Zakaria Bouhemhem, and Majid Babaei. 2023. "Progress Report 1". [LINK]

NFT Locker App

2022 - 2023
The motivation of this project is to allow people to have security while owning their assets which can potentially be very valuable. What we achieved this semester was setting up our frontend application that enables users to sign in with their Ethereum wallet and view a gallery of their NFTs by utilizing available online APIs.
List of the related papers [1] Michael Buchar, Dominic Chan, Ezra Gomolin, Ege Karadibak, and Majid Babaei. 2023. "Mid-project Report". [LINK]


2022 - 2023
RA4Xstate is a robustness analysis framework in the context of Model-Driven Development for systems designed based on finite state machines. RA4Xstate takes a behavioural and a property model of the system under the test as inputs. It evaluates the system's robustness based on a notion of cost that is computed for every off-track execution step.
List of the related papers [1] Majid Babaei, Maroua Ben-Attia, and Yann-Gaël Guéhéneuc. 2023. "Efficient Automated Robustness Testing Framework for State Machines". submitted to the IEEE Transactions on Software Engineering.


2020 - 2022
As software evolves, regression testing techniques are typically used to ensure the new changes are not adversely affecting the existing features. Despite recent advances, regression testing for distributed systems remains challenging and extremely costly. Existing techniques often require running a failing system several time before detecting a regression. As a result, conventional approaches that use re-execution without considering the inherent non-determinism of distributed systems, and providing no (or low) control over execution are inadequate in many ways.
List of the related papers [1] M. Babaei and J. Dingel, "Efficient Replay-based Regression Testing for Distributed Reactive Systems in the Context of Model-driven Development," 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), 2021, pp. 89-100. [LINK] [VIDEO]
[2] M. Babaei and J. Dingel, "MRegTest: A Replay-Based Regression Testing Tool for Distributed UML-RT Models," 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), 2021, pp. 620-624. [LINK]


2018 - 2020
MReplayer that supports ordering and replaying of execution traces of distributed systems that are developed using communicated state machine models. Despite the existing solutions that require detailed traces annotated with timestamps (logical or physical), MReplayer only requires a minimum amount of traces without timestamps. Instead, it uses model analysis techniques to order and replay the traces.
List of the related papers [1] Majid Babaei, Mojtaba Bagherzadeh, and Juergen Dingel. 2020. "Efficient reordering and replay of execution traces of distributed reactive systems in the context of model-driven development". In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS'20), 285-296. [LINK] [VIDEO]
[2] Majid Babaei, Mojtaba Bagherzadeh, and Juergen Dingel. 2020. "MReplayer: a trace replayer of distributed UML-RT models". Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, 1-5. [LINK]


ECSE 437: Software Delivery

Description: ECSE 437 is a core course in the Computer Engineering stream in Electrical and Computer Engineering department at McGill University. I will be teaching this course in Fall semester 2022 with the help of a Grad. TA.

The grade breakdown for this corse is as follows


3 Labs

Short Exams

3 Quizzes

Course Project

Final Exam

The core concepts

  • DevOps Culture and Practices
  • Version Control Systems
  • Gerrit Code Review
  • Build Systems
  • Static Code Analysis
  • Software Testing
  • Continuous Integration
  • Continuous Delivery

ELEC 377: Operating Systems

Description: ELEC377 is a core course in the Computer Engineering stream in Electrical and Computer Engineering department at Queen's University. I've thought this course in Fall semester 2021 with the help of 8 TAs (4 undergrad TAs and 4 Grad. TAs). I thought the students the basic concepts of operating systems and the historical and technical basis for many of the features that are in current operating systems.

The grade breakdown for this corse is as follows

The core concepts

The core concepts can be grouped into: Synchronizations, Scheduling, Memory Management (including paging and VM), Deadlock and Security. Other topics including File Systems, Device Drivers, Intro to Distributed Systems also covered.

  • The structure of Operating Systems
  • Using various primitives for synchronization
  • Different scheduling algorithms
  • Memory and File Management
  • Principles of deadlock
  • Approaches for dealing with deadlocks
  • Kernel structure of modern operating systems
  • basics of security in Operating Systems

Collaborations with Industry

The internships, fellowships and enterprise projects that I have been involved:

The more I have been in industry, the more I realize that when it comes to a collaboration with an enterprise, quality and customer satisfaction cannot be compromised! Creating a pipline of the best practices technologies, perfomring regurous analysis, is one of the most promissing ways to ensure the quality of an industrial-grade projects. Leveraging on my academic skills enabling me to effectively served many companies/organisations in various domains.

Imaginary Spaces

Senior Software Developer

Nov. 2021 - Apr. 2023
I've been working on Row64 that is the world first GPU-enabled spreadsheet software built for big data from the ground up. By combining the simplicity of spreadsheets with the enhanced functionality of big data systems.

Team Lead

Jan. 2022 - Mar. 2023
Software Robustness Analysis is a novel model-based approach that we have proposed to test the robustness of realtime embedded systems such as drones by leveraging the property and the behavioral model and performing static analysis.
Aggregate Intellect

Team Lead

Jun. 2022 - Feb. 2023
Explainable Information Retrieval: The goal is to create open source libraries and publish papers on the topics of post-hoc or embedded explainability in Info Retrieval, Search, or related tasks.
Student Wellness Services

Team Lead

Jan. 2021 - Apr. 2023
The GIS Wellness Resource Map is a centralized platform that allows students to learn about the various support services available to them at Queen's. This tool uses mapping software to allow students to physically locate the services they need.
National Research Council


Apr. 2021 - Aug. 2021
Developing an Advanced Persistent Threat detection approach for large scale databases.
Lamp Lab

Software Developer

Jan. 2020 - Jan. 2022
Mind-Wandering: In this project we have explored the experience of mind-wandering during online lectures. Specifically, we have developted an application called ProgApp that is used to investigated how episodes of mind wandering impact learning and performance, and how mind wandering might be reduced in educational settings.
Bosch Engineering Group


Jan. 2017 - Dec. 2017
Developing AMRA which is AMRA is a smart fleet management system solution that consists of the AMRA device, the AMRA portal, as well as the optional AMRA wireless sensor technology. The AMRA device is a piece of telematics hardware featuring a GPS module, integrated GSM antenna, numerous sensors (wired and wireless), and a powerful battery.

Software Developer

Jun. 2015 - Dec. 2016
I worked on a software called ProgSoft that is used for programming and troubleshooting Maritime Antenna Systems.

Software Developer

Sep. 2012 - April. 2015
I worked on the national Certificate Authority (CA) project called ParsTrust that is PKI Certificate Authority software, built using Java (JEE) technology. Robust, flexible, high performance, scalable, and platform independent.


Let's Keep In Touch

We are just one click away! I am always open to new opportunities and challenges, so if you have any ideas in the domain of software engineering and AI, I will be happy to help you and your team. Please fill out the form below and share with me some detail of your idea!

I'm also on Social Networks

Drop Me a Line