Houari Sahraoui
Génie logiciel, visualisation du logiciel, intelligence artificielle, apprentissage automatique
- Vice-doyen
-
Faculté des arts et des sciences - Direction
Pavillon Lionel-Groulx, room C9076-3
- Professeur titulaire
-
Faculté des arts et des sciences - Département d'informatique et de recherche opérationnelle
André-Aisenstadt, room 2359
Profile
Research expertise
Houari Sahraoui est professeur au laboratoire de génie logiciel GEODES du Département d’informatique et de recherche opérationnelle de l’Université de Montréal. Il occupe également les fonctions de vice-doyen à la Faculté des arts et des sciences. Il a obtenu son doctorat en informatique à l’Université Pierre-et-Marie-Curie (LIP6) en 1995, avec une spécialisation en intelligence artificielle.
Ses travaux de recherche portent sur l’IA appliquée au génie logiciel, notamment l’automatisation du développement logiciel, l’ingénierie dirigée par les modèles, les jumeaux numériques et l’utilisation de l’IA générative pour les tâches de programmation et de modélisation. Il est l’auteur de plus de 200 publications dans les meilleures conférences et revues du domaine et a reçu plusieurs distinctions, dont des prix du meilleur article, des ACM SIGSOFT Distinguished Paper Awards et le prix IEEE TCSE 10-Year Most Influential Paper Award.
Il a occupé plusieurs postes de leadership au sein de la communauté du génie logiciel, notamment comme président général des conférences ASE, MODELS et VISSOFT, président du comité de programme de MODELS et VISSOFT, ainsi que membre de nombreux comités de programme de conférences phares de l’IEEE et de l’ACM. Il a également été rédacteur associé pour plusieurs revues scientifiques, dont Software and Systems Modeling de Springer, et est membre fondateur de CS-Can | Info-Can, la société canadienne d’informatique. Il est Fellow de l’Automated Software Engineering et récipiendaire du Lifetime Achievement Award in Computer Science de CS-Can | Info-Can.
Biography
Houari Sahraoui est professeur au laboratoire de génie logiciel GEODES du Département d’informatique et de recherche opérationnelle de l’Université de Montréal depuis 1999. Il a dirigé ce département de 2013 à 2017. Depuis 2017, il occupe également les fonctions de vice-doyen à la Faculté des arts et des sciences. Il a obtenu son doctorat en informatique à l’Université Pierre-et-Marie-Curie (LIP6) en 1995, avec une spécialisation en intelligence artificielle.
Avant de rejoindre l’Université de Montréal, il a travaillé comme chercheur, puis comme chercheur principal, au Centre de recherche informatique de Montréal (CRIM). Il a également été professeur invité à l’Université de Castilla-La Mancha, en Espagne, ainsi qu’à l’INRIA Rennes, en France.
Awards and recognitions
- Prix pour l’ensemble de la carrière en informatique (CS-Can | Info-Can, 2026)
- ACM SIGSOFT Distinguished Paper Award (2024)
- Prix du meilleur article – MODELS (2023)
- Fellow de l’Automated Software Engineering (2023)
- IEEE TCSE 10-Year Most Influential Paper Award (2021)
- Trois ACM Service Recognition Awards (2003, 2020, 2022)
- Deux prix du meilleur article (2010)
- ACM Distinguished Paper Award (2005)
- Prix d’excellence dans l’enseignement des sciences de l’Université de Montréal (2003–2004)
Affiliations and responsabilities
Research affiliations
Research units
Responsable
Teaching and supervision
Student supervision
Theses and dissertation supervision (Papyrus Institutional Repository)
Alignement multi-agents de modèles de langage pour la génération de code guidée par des préférences multiples
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Combining large language models with static analyzers for code review generation
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Empowering code review automation : a data-centric, multi-task-driven, and human-aware approach
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Vers des jumeaux numériques intelligents en agriculture en environnement contrôlé : contributions conjointes en détection de fruits par vision et en simulation trans-domaines.
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Co-simulation for controlled environment simulation
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Aligning language models to code : exploring efficient, temporal, and preference alignment for code generation
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Microservices identification in existing applications using meta-heuristics optimization and machine learning
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Automatically correcting syntactic and semantic errors in ATL transformations using multi-objective optimization
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Extraction of UML class diagrams from natural language specifications
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Few-shot prompt learning for automating model completion
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Apprentissage de stratégies de calcul adaptatives pour les réseaux neuronaux profonds
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Sur l'élaboration de meilleures techniques pour l'apprentissage auto-supervisé des représentations du code
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Optimizing vertical farming : control and scheduling algorithms for enhanced plant growth
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Abstraction de comportement de haut niveau à l’aide de la visualisation interactive
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Towards using intelligent techniques to assist software specialists in their tasks
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Extending domain-specific modeling editors with multi-touch interactions
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Pattern-based refactoring in model-driven engineering
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Vérification des patrons temporels d’utilisation d’API sans exécution du code : une approche et un outil
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Metamodel co-evolution with related model-driven engineering artifacts : a multi-objective search framework
Cycle : Doctorat
Diplôme obtenu : Ph. D.
From examples to knowledge in model-driven engineering : a holistic and pragmatic approach
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Caractérisation et étude de l’impact des permissions dans les applications mobiles
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Détection des utilisations à risque d’API : approche basée sur le système immunitaire
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Inferring API Usage Patterns and Constraints : a Holistic Approach
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Using goal-driven assistants for software visualization
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Dérivation de diagrammes de séquence UML compactes à partir de traces d’exécution en se basant des heuristiques.
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Une approche heuristique pour l’apprentissage de transformations de modèles complexes à partir d’exemples
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
A Mono- and Multi-objective Approach for Recommending Software Refactoring
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Génération automatique de configurations et de scénarios d'utilisation d'outils de visualisation à partir de spécifications de tâches d'analyse de logiciels
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
A unified framework for the comprehension of software's time dimension
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Una aproximación evolucionista para la generación automática de sentencias SQL a partir de ejemplos
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Improving automation in model-driven engineering using examples
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Identification d’une architecture à base de composants dans une application orientée objets à l’aide d’une analyse dynamique
Cycle : Doctorat
Diplôme obtenu : D. Th.
Technique de visualisation pour l’identification de l’usage excessif d’objets temporaires dans les traces d’exécution
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Utilisation de la visualisation interactive pour l’analyse des dépendances dans les logiciels
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Étude empirique des commentaires et application des techniques de résumé par extraction pour la redocumentation
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Analyse de dépendance des programmes à objet en utilisant les modèles probabilistes des entrées
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Intégration de la visualisation à multiples vues pour le développement du logiciel
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Formulation interactive des requêtes pour l’analyse et la compréhension du code source
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Modelling software quality : a multidimensional approach
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Transformation by example
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Développement logiciel par transformation de modèles
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Rétro-ingénierie des diagrammes de séquence par visualisation interactive
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
A formal framework for run-time verification of Web applications : an approach supported by ccope-extended linear temporal logic
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Rule-based quality heuristics formalization and identification
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Évaluation de la qualité des applications web : approche probabiliste
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Un système d'aide à la visualisation interactive de logiciels
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Détection visuelle d'anomalies de conception dans les programmes orientés objets
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Visualisation de la qualité des logiciels de grandes taille
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Modélisation pour la gestion de modèles
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Méta-modélisation de l'adaptation dynamique du contrôle des systèmes multi-agents
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Étude de l'analyse formelle dans les données relationnelles : application à la restructuration des modèles structuraux UML
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Formal checking of web based applications
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Analyse de la qualité du logiciel : une approche par visualisation et simulation
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Estimation de l'impact du changement dans les programmes à objets
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Estimation de caractéristiques externes de qualité à partir de mesures d'attributs internes : bilan et perspectives
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Amélioration de la prédiction de la qualité du logiciel par combinaison et adaptation de modèles
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Estimation de la qualité du produit logiciel : réseaux Bayésiens
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Migrating legacy system towards object technology
Cycle : Doctorat
Diplôme obtenu : Ph. D.
Determination of software quality through a generic model
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Analyse des traces d'exécution pour la vérification des protocoles d'interaction dans les systèmes multiagents
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Software stability assessment using multiple prediction models
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
A case-based reasoning diagnosis system for AHU (Air-Handling Unit)
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Enhancing and evolving a rule-based system using historical data : a neuro-fuzzy approach
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Extension des modèles de prédiction de la qualité du logiciel en utilisant la logique floue et les heuristiques du domaine
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Identification des objets dans les applications léguées basée sur les algorithmes génétiques
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Obje[c]t identification using conceptual clustering
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
001_correct : un environnement de restructuration des programmes objets piloté par la qualité
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Gestionnaire de connaissances pour systèmes hybrides objets-règles
Cycle : Maîtrise
Diplôme obtenu : M. Sc.
Projects
Research projects
Improving automation and assistance for software engineering tasks with generative AI
From examples to knowledge to software engineering support and automation
Efficient Support of Code Review Process with Deep Learning
Digital Twins for Vertical Farming
Digital Twins for Vertical Farming
Toward Robust and Adaptable Deep Learning Models of Code
L’assistance au développement du logiciel au temps des données massives
Multi-paradigm digital twin framework for biophysical systems: Application to vertical farming
Supplément COVID-19 CRSNG_From examples to knowledge to software engineering support and automation
LEARNING FROM EXAMPLES TO IMPROVE AUTOMATION IN MODEL-DRIVEN ENGINEERING
Migration des applications logicielles vers le "Cloud"
ADDRESSING ISSUES IN SOFTWARE ENGINEERING AUTOMATION USING VISUALIZATION AND SEARCH-BASED METHODS
ADDRESSING ISSUES IN SOFTWARE ENGINEERING AUTOMATION USING VISUALIZATION AND SEARCH-BASED METHODS
Outreach
Publications and presentations
Publications
2026
- Syntactic Multilingual Probing of Pre-Trained Language Models of Code (Journal of Systems and Software)
- MDE for Crop Representations in Smart Farming Digital Twins: A Reinforcement Learning Perspective (SoSyM)
- On the Utility of Domain Modeling Assistance with Large Language Models (TOSEM)
- Modeling Sampling Workflows for Code Repositories (MSR)
- Creativity Beyond Functionality: An Observational Study of Easter Eggs in Video Games (Games and Software Engineering Workshop)
2025
- Automation in Model-Driven Engineering: A Look Back, and Ahead (TOSEM)
- Exploring Parameter-Efficient Fine-Tuning Techniques for Code Generation with Large Language Models (TOSEM)
- Combining Large Language Models with Static Analyzers for Code Review Generation (MSR)
- Harnessing Large Language Models for Curated Code Reviews (MSR)
- On the Challenges of Integrating Digital Twins (EDTconf)
- MONO2REST: Identifying and Exposing Microservices: A Reusable RESTification Approach (ICSR)
- Engineering Digital Twins for AI-Assisted Scientific Discovery: Case of Plasma-Enhanced Deposition (EDTconf)
2024
- CodeUltraFeedback: An LLM-as-a-Judge Dataset for Aligning Large Language Models to Coding Preferences (TOSEM)
- Improving Repair of Semantic ATL Errors Using a Social Diversity Metric (SoSyM)
- Building Domain-Specific Machine Learning Workflows: A Conceptual Framework for the State of the Practice (TOSEM)
- Improving the Learning of Code Review Successive Tasks with Cross-Task Knowledge Distillation (FSE, ACM SIGSOFT Distinguished Paper Award)
- A Modeling Methodology for Crop Representation in Digital Twins for Smart Farming (EDTconf)
- CodeLL: A Lifelong Learning Dataset to Support the Co-Evolution of Data and Language Models of Code (MSR)
2023
- Toward Optimal Psychological Functioning in AI-Driven Software Engineering Tasks (IEEE Software)
- Polyglot Software Development: Wait, What? (IEEE Software)
- MoTrans-BDI: Leveraging the Beliefs-Desires-Intentions Agent Architecture for Collaborative Model Transformation by Example (Journal of Computer Languages)
- Fingerprinting and Building Large Reproducible Datasets (ACM REP)
- Towards Using Few-Shot Prompt Learning for Automating Model Completion (ICSE NIER)
- Co-Simulation for Controlled Environment Agriculture (ANNSIM)
- On the Usage of Continual Learning for Out-of-Distribution Generalization in Pre-Trained Language Models of Code (ESEC/FSE)
- Digital Twins for Cyber-Biophysical Systems: Challenges and Lessons Learned (MODELS, Best Paper Award)
- A Multi-Step Learning Approach to Assist Code Review (SANER)
2022
- Promoting Social Diversity for the Automated Learning of Complex MDE Artefacts (SoSyM)
- Learning from Code Repositories to Recommend Model Classes (JOT)
- Recommending Metamodel Concepts during Modeling Activities with Pre-Trained Language Models (SoSyM)
- A Generic Approach to Detect Design Patterns in Model Transformations Using a String-Matching Algorithm (SoSyM)
- Better Modeling the Programming World with Code Concept Graphs-Augmented Multi-Modal Learning (ICSE NIER)
- Towards Automatically Extracting UML Class Diagrams from Natural Language Specifications (MDE Intelligence)
- Fine-Grained Analysis of Similar Code Snippets (ICSR)
- Fighting Evil Is Not Enough When Refactoring Metamodels: Promoting the Good Also Matters (SAC)
- Global Decision Making Over Deep Variability in Feedback-Driven Software Development (ASE NIER)
- AST-Probe: Recovering Abstract Syntax Trees from Hidden Representations of Pre-Trained Language Models (ASE)
2021
- A Hitchhiker’s Guide to Model-Driven Engineering for Data-Centric Systems (IEEE Software)
- Fixing Multiple Type Errors in Model Transformations with Alternative Oracles to Test Cases (JOT)
- Metamodel Refactoring Using Constraint Solving: A Quality-Based Perspective (SAM)
- Automated Patch Generation for Fixing Semantic Errors in ATL Transformation Rules (MODELS)
- Understanding High-Level Behavior with a Light-Traces Visualization Metaphor (VISSOFT)
- Checking Temporal Patterns of API Usage Without Code Execution (FormaliSE)
2020
- Towards Assisting Developers in API Usage by Automated Recovery of Complex Temporal Patterns (Information and Software Technology)
- Opportunities in Intelligent Modeling Assistance (SoSyM)
- ReSIde: Reusable Service Identification from Software Families (Journal of Systems and Software)
Disciplines
- Informatique
- Génie informatique et génie logiciel
Areas of expertise
- Génie logiciel
- Automatisation du génie logiciel
- Apprentissage profond
- Génie logiciel empirique
- Ingénierie dirigée par les modèles
- Recherche heuristique en génie logiciel
- Visualisation du logiciel
- Simulation
Aide en ligne pour votre profil | Nous joindre
Le Répertoire des professeurs est propulsé par les données du
SADVR et est un projet du CENR.


