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 is a Professor in the GEODES Software Engineering Lab within the Department of Computer Science and Operations Research at the Université de Montréal. He also serves as Vice-Dean of the Faculty of Arts and Sciences. He received his Ph.D. in Computer Science from Pierre and Marie Curie University (LIP6) in 1995, specializing in Artificial Intelligence.
His research focuses on AI for Software Engineering, including software automation, model-driven engineering, digital twins, and the use of generative AI for code and modeling tasks. He has authored more than 200 publications in leading conferences and journals and has received numerous distinctions, including Best Paper Awards, ACM SIGSOFT Distinguished Paper Awards, and the IEEE TCSE 10-Year Most Influential Paper Award.
He has held several leadership positions within the software engineering community, including serving as General Chair of ASE, MODELS, and VISSOFT, Program Chair of MODELS and VISSOFT, and member of numerous IEEE and ACM conference program committees. He has also served as Associate Editor for several scientific journals, including Software and Systems Modeling, and is a founding member of CS-Can | Info-Can, the Canadian computer science society. He is a Fellow of Automated Software Engineering and the recipient of the CS-Can | Info-Can Lifetime Achievement Award in Computer Science.
Biography
Houari Sahraoui is a Professor in the GEODES Software Engineering Lab within the Department of Computer Science and Operations Research at the Université de Montréal since 1999. He served as Chair of the Department from 2013 to 2017 and is Vice-Dean of the Faculty of Arts and Sciences since 2017. He received his Ph.D. in Computer Science from Pierre and Marie Curie University (LIP6) in 1995, specializing in Artificial Intelligence.
Before joining the Université de Montréal, he worked as a researcher and later as a senior researcher at the Computer Research Institute of Montréal (CRIM). He has also held visiting professor positions at the University of Castilla-La Mancha in Spain and at INRIA Rennes in France.
Awards and recognitions
- Lifetime Achievement Award in Computer Science (CS-Can | Info-Can, 2026)
- ACM SIGSOFT Distinguished Paper Award (2024)
- MODELS Best Paper Award (2023)
- Fellow of Automated Software Engineering (2023)
- IEEE TCSE 10-Year Most Influential Paper Award (2021)
- Three ACM Service Recognition Awards (2003, 2020, 2022)
- Two Best Paper Awards (2010)
- ACM Distinguished Paper Award (2005)
- Université de Montréal Excellence in Science Teaching Award (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 : Master's
Grade : M. Sc.
Combining large language models with static analyzers for code review generation
Cycle : Master's
Grade : M. Sc.
Empowering code review automation : a data-centric, multi-task-driven, and human-aware approach
Cycle : Doctoral
Grade : 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 : Master's
Grade : M. Sc.
Co-simulation for controlled environment simulation
Cycle : Master's
Grade : M. Sc.
Aligning language models to code : exploring efficient, temporal, and preference alignment for code generation
Cycle : Doctoral
Grade : Ph. D.
Microservices identification in existing applications using meta-heuristics optimization and machine learning
Cycle : Master's
Grade : M. Sc.
Automatically correcting syntactic and semantic errors in ATL transformations using multi-objective optimization
Cycle : Doctoral
Grade : Ph. D.
Extraction of UML class diagrams from natural language specifications
Cycle : Master's
Grade : M. Sc.
Few-shot prompt learning for automating model completion
Cycle : Master's
Grade : M. Sc.
Apprentissage de stratégies de calcul adaptatives pour les réseaux neuronaux profonds
Cycle : Master's
Grade : M. Sc.
Sur l'élaboration de meilleures techniques pour l'apprentissage auto-supervisé des représentations du code
Cycle : Master's
Grade : M. Sc.
Optimizing vertical farming : control and scheduling algorithms for enhanced plant growth
Cycle : Master's
Grade : M. Sc.
Abstraction de comportement de haut niveau à l’aide de la visualisation interactive
Cycle : Master's
Grade : M. Sc.
Towards using intelligent techniques to assist software specialists in their tasks
Cycle : Master's
Grade : M. Sc.
Extending domain-specific modeling editors with multi-touch interactions
Cycle : Master's
Grade : M. Sc.
Pattern-based refactoring in model-driven engineering
Cycle : Doctoral
Grade : Ph. D.
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.
Metamodel co-evolution with related model-driven engineering artifacts : a multi-objective search framework
Cycle : Doctoral
Grade : Ph. D.
From examples to knowledge in model-driven engineering : a holistic and pragmatic approach
Cycle : Doctoral
Grade : Ph. D.
Caractérisation et étude de l’impact des permissions dans les applications mobiles
Cycle : Master's
Grade : M. Sc.
Détection des utilisations à risque d’API : approche basée sur le système immunitaire
Cycle : Master's
Grade : M. Sc.
Inferring API Usage Patterns and Constraints : a Holistic Approach
Cycle : Doctoral
Grade : Ph. D.
Using goal-driven assistants for software visualization
Cycle : Master's
Grade : M. Sc.
Dérivation de diagrammes de séquence UML compactes à partir de traces d’exécution en se basant des heuristiques.
Cycle : Master's
Grade : M. Sc.
Une approche heuristique pour l’apprentissage de transformations de modèles complexes à partir d’exemples
Cycle : Master's
Grade : M. Sc.
A Mono- and Multi-objective Approach for Recommending Software Refactoring
Cycle : Doctoral
Grade : 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 : Master's
Grade : M. Sc.
A unified framework for the comprehension of software's time dimension
Cycle : Doctoral
Grade : Ph. D.
Una aproximación evolucionista para la generación automática de sentencias SQL a partir de ejemplos
Cycle : Master's
Grade : M. Sc.
Improving automation in model-driven engineering using examples
Cycle : Doctoral
Grade : Ph. D.
Identification d’une architecture à base de composants dans une application orientée objets à l’aide d’une analyse dynamique
Cycle : Doctoral
Grade : D. Th.
Technique de visualisation pour l’identification de l’usage excessif d’objets temporaires dans les traces d’exécution
Cycle : Master's
Grade : M. Sc.
Utilisation de la visualisation interactive pour l’analyse des dépendances dans les logiciels
Cycle : Master's
Grade : M. Sc.
Étude empirique des commentaires et application des techniques de résumé par extraction pour la redocumentation
Cycle : Master's
Grade : M. Sc.
Analyse de dépendance des programmes à objet en utilisant les modèles probabilistes des entrées
Cycle : Master's
Grade : M. Sc.
Intégration de la visualisation à multiples vues pour le développement du logiciel
Cycle : Doctoral
Grade : Ph. D.
Formulation interactive des requêtes pour l’analyse et la compréhension du code source
Cycle : Master's
Grade : M. Sc.
Modelling software quality : a multidimensional approach
Cycle : Doctoral
Grade : Ph. D.
Développement logiciel par transformation de modèles
Cycle : Doctoral
Grade : Ph. D.
Rétro-ingénierie des diagrammes de séquence par visualisation interactive
Cycle : Master's
Grade : M. Sc.
A formal framework for run-time verification of Web applications : an approach supported by ccope-extended linear temporal logic
Cycle : Doctoral
Grade : Ph. D.
Rule-based quality heuristics formalization and identification
Cycle : Master's
Grade : M. Sc.
Évaluation de la qualité des applications web : approche probabiliste
Cycle : Doctoral
Grade : Ph. D.
Un système d'aide à la visualisation interactive de logiciels
Cycle : Master's
Grade : M. Sc.
Détection visuelle d'anomalies de conception dans les programmes orientés objets
Cycle : Master's
Grade : M. Sc.
Visualisation de la qualité des logiciels de grandes taille
Cycle : Master's
Grade : M. Sc.
Modélisation pour la gestion de modèles
Cycle : Doctoral
Grade : Ph. D.
Méta-modélisation de l'adaptation dynamique du contrôle des systèmes multi-agents
Cycle : Doctoral
Grade : Ph. D.
Étude de l'analyse formelle dans les données relationnelles : application à la restructuration des modèles structuraux UML
Cycle : Doctoral
Grade : Ph. D.
Formal checking of web based applications
Cycle : Master's
Grade : M. Sc.
Analyse de la qualité du logiciel : une approche par visualisation et simulation
Cycle : Master's
Grade : M. Sc.
Estimation de l'impact du changement dans les programmes à objets
Cycle : Master's
Grade : M. Sc.
Estimation de caractéristiques externes de qualité à partir de mesures d'attributs internes : bilan et perspectives
Cycle : Master's
Grade : M. Sc.
Amélioration de la prédiction de la qualité du logiciel par combinaison et adaptation de modèles
Cycle : Doctoral
Grade : Ph. D.
Estimation de la qualité du produit logiciel : réseaux Bayésiens
Cycle : Master's
Grade : M. Sc.
Migrating legacy system towards object technology
Cycle : Doctoral
Grade : Ph. D.
Determination of software quality through a generic model
Cycle : Master's
Grade : M. Sc.
Analyse des traces d'exécution pour la vérification des protocoles d'interaction dans les systèmes multiagents
Cycle : Master's
Grade : M. Sc.
Software stability assessment using multiple prediction models
Cycle : Master's
Grade : M. Sc.
A case-based reasoning diagnosis system for AHU (Air-Handling Unit)
Cycle : Master's
Grade : M. Sc.
Enhancing and evolving a rule-based system using historical data : a neuro-fuzzy approach
Cycle : Master's
Grade : 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 : Master's
Grade : M. Sc.
Identification des objets dans les applications léguées basée sur les algorithmes génétiques
Cycle : Master's
Grade : M. Sc.
Obje[c]t identification using conceptual clustering
Cycle : Master's
Grade : M. Sc.
001_correct : un environnement de restructuration des programmes objets piloté par la qualité
Cycle : Master's
Grade : M. Sc.
Gestionnaire de connaissances pour systèmes hybrides objets-règles
Cycle : Master's
Grade : 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
- Computer Science
- Computer Engineering and Software Engineering
Areas of expertise
- Software engineering
- Automated software engineering
- Deep learning
- Empirical software engineering
- Model-driven engineering
- Search-based Software Engineering
- Software visualization
- Computer 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.


