Michalis Famelis
- Professeur agrégé
-
Faculté des arts et des sciences - Département d'informatique et de recherche opérationnelle
André-Aisenstadt, room 2343
Profile
Research expertise
I am an assistant professor at the Department of Computer Science and Operations Research of the Université de Montréal, working in the GEODES Software Engineering Research Group (see more).
I work to create formal but practical techniques and methods for engineering software. To do this, I draw from disciplines such as formal verification, model-based engineering, and empirical methods. I study the context of software development and create novel techniques that use domain-specific abstractions that are supported by rigorous automation.
Affiliations and responsabilities
Teaching and supervision
Recruitment in research
For prospective students
I am always looking for motivated people to work with. Before contacting me, please see my research interests and current projects, as well as my previous work. I also welcome well thought-out research ideas and would be very happy to discuss, provided you send me specifics.
- In DIRO, MSc admissions are administered centrally. Click here to find out how to apply.
- If you want to work with me at the PhD level, please send me your CV, any publications, and a brief note explaining why you want to work with me specifically. Click here to find out more information. Especially, look at the Predoc general exam.
In any case, make sure to take your own inquiry seriously. I do not respond to any inquiry that reads like a copy-paste boilerplate.
UdeM is a francophone institution but graduate studies can also be done in English. Regardless, if you work with me, I will strongly encourage you to try to improve your French, e.g., via the Centre d’aide en français.
To show me you have actually taken the time to read this page, include the string “[Luthadel]” (without the quotation marks) at the subject line of your email.
Teaching
Courses taught (current session only)
Programs
- 115510 – Baccalauréat en géographie environnementale
- 117510 – Baccalauréat en informatique
- 117520 – Majeure en informatique
- 117540 – Mineure en informatique
- 119010 – Baccalauréat en mathématiques
- 119020 – Majeure en mathématiques
- 119110 – Baccalauréat en mathématiques et informatique
- 119110 – Baccalauréat en mathématiques et informatique
- 120510 – Baccalauréat en physique et informatique
- 120510 – Baccalauréat en physique et informatique
- 122012 – Baccalauréat en neuroscience cognitive
- 124161 – Microprogramme de 1er cycle en analyse des mégadonnées en sciences humaines et sociales
- 146811 – Baccalauréat en bio-informatique
- 146811 – Baccalauréat en bio-informatique
- 196710 – Programme d'accueil en sciences
- 217510 – Maîtrise en informatique
Student supervision
Theses and dissertation supervision (Papyrus Institutional Repository)
Articulating design-time uncertainty with DRUIDE
Cycle : Master's
Grade : M. Sc.
Vérification des patrons temporels d’utilisation d’API sans exécution du code : une approche et un outil
Cycle : Master's
Grade : M. Sc.
Programming tools for intelligent systems
Cycle : Master's
Grade : M. Sc.
Towards using fluctuations in internal quality metrics to find design intents
Cycle : Master's
Grade : M. Sc.
Modelling and Reasoning with Software Product Lines with Design Choices
Cycle : Master's
Grade : M. Sc.
Projects
Research projects
A model-driven software development platform for Climate-Sensitive Infectious Disease Modelling
Lightweight Formal Support for Software Design
Conception d’analytique avancée à la Banque Nationale (BNC)
Supplément COVID-19 CRSNG_Lightweight Formal Support for Software Design
Outreach
Publications and presentations
Publications
- Les publications de Michalis Famelis, sont disponibles ici :https://michalis.famelis.info/publications/
Disciplines
- Computer Engineering and Software Engineering
- Computer Science
Areas of expertise
- Software analysis
- Software design
- Empirical software engineering
- Model-driven engineering
- Software Product Line Engineering
- Formal methods