Join the Team
My research group at McGill University offers research opportunities for prospective undergraduate, Master’s, and PhD students.
Are you interested in safety assurance for AI-enabled cyber-physical systems and eager to contribute to research in software engineering? If so, you are in the right place. This page explains what you can expect from the research experience in my group, what I offer as a supervisor, and what I look for in prospective students. If this sounds like an exciting and worthwhile opportunity, please review the How to Apply section and get in touch!
What to Expect as a Student in the Lab
Being a student in the lab, and in academia more broadly, is a multifaceted role. It is demanding but rewarding, and will help you develop a broad range of skills useful both professionally and in life. Your main responsibility will be to conduct research and to take ownership of your project, while also taking on additional responsibilities related to academic development and service.
Conducting Research
A typical research project moves through several overlapping stages:
- Read recent work and learn the tools relevant to your project.
- Find an open problem and turn it into a focused research question.
- Design and implement a promising solution.
- Evaluate it through systematic, reproducible experiments and refine it based on the results.
- Work with me to communicate the findings in a research paper.
- Present and discuss your work with lab members and external peers at conferences and workshops.
Academic Development and Service
Alongside your research, you will develop broader academic and professional skills. Depending on your program, appointment, and experience, this may include:
- Take advanced courses that strengthen your knowledge and support your research goals.
- Gain teaching experience as a teaching assistant or grader, supporting students and course delivery.
- Develop analytical skills by occasionally peer-reviewing papers for conferences and journals.
- Build mentoring and leadership skills by supporting junior lab members as the group grows.
What I Offer
Supervising students is a central and rewarding part of my work. I am committed to providing the support and guidance they need to grow as independent researchers and achieve their academic and career goals.
- Funding: I support Master’s and PhD students through research assistantships and help strong candidates identify and apply for external funding opportunities.
- Hands-on mentorship: Students receive weekly one-on-one meetings, close collaboration on research and writing, technical guidance, and support with academic and career planning.
- Research environment: I aim to provide an engaging, collaborative, and inclusive setting where students can test ideas, learn from setbacks, and grow into independent researchers.
- McGill and Montreal: Students join a world-class, research-intensive university known for academic excellence, research output, and innovation in a multilingual city with a rich cultural and student life.
What I Look For
Students bring different strengths, experiences, and goals to the lab. I look for students who are ready to take ownership, grow through challenges, and contribute positively to the group.
- Initiative and autonomy: Students should take ownership of their projects, work proactively, and follow through on their ideas while drawing on my guidance and support throughout.
- Curiosity and perseverance: Research involves uncertainty, and setbacks are common. Students should be willing to explore unfamiliar ideas, adapt their approach, and persist through challenges.
- Technical foundations: My research is in software engineering and related fields, so students should have a relevant technical background. Experience in model-driven engineering, requirements engineering, cyber-physical systems, or formal methods is especially useful.
- Collaboration and communication: Students should feel comfortable sharing ideas, exchanging constructive feedback, supporting their peers, and helping create a welcoming and collaborative group culture.
How to Apply
Before reaching out, please review the graduate programs offered by the McGill ECSE department and identify the program that best fits your goals. Please also check the department’s application deadlines to make sure your intended start date aligns with the relevant admission cycle.
I am also open to supervising undergraduate students on ad-hoc, short-term research projects, with priority given to students already enrolled at McGill.
If you are interested in joining the lab, please contact me by email using the following subject line:
[Prospective Student] <PhD/MSc/Ugrad> <Start Term> - <Your Name>
For example: [Prospective Student] PhD, Fall 2027 - John Doe
In your email, please:
- Clearly specify the graduate program you are interested in applying to.
- Briefly describe your research interests and why you are interested in working with my group.
- Review my Google Scholar profile, select at least one paper that interests you, and briefly explain what you found interesting and how you might like to build on that line of research.
- Highlight any previous research experience, including research projects or publications.
- Mention any scholarships or fellowships you have received or applied for.
- Attach your CV and academic transcript.
Please use the email address in the footer of this page.
I am happy to hear from students interested in our research. However, due to the number of inquiries I receive, I may not be able to respond to every message individually. I appreciate your interest in the lab and your understanding!