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
My research interests include, among others, automated software engineering. I am particularly interested in model transformations learning from examples using evolutionary approaches. I also work on reverse engineering (comprehension) and reengineering (refactoring, migration to component-based software, etc.) of software using static and dynamic analysis. My concerns also include visualization of large sets of multidimensional data for software comprehension and maintenance.
Biography
Houari Sahraoui est professeur au Département d'informatique et de recherche opérationnelle. Il en a été directeur de 2013 à 2017. Il a publié plus de 200 articles en génie logiciel et particulièrement sur l'automatisation du génie logiciel et l'ingénierie dirigée par les modèles. Il a été président des conférences IEEE/ACM Automated Software Engineering et IEEE Software Visualization (VISSOFT), président du comité de programme d'IEEE VISSOFT, membre de comités de programme de plusieurs conférences IEEE et ACM, membre de comité de lecture de plusieurs revues et membre de l'organisation de nombreuses conférences.
Il a siégé au comité de sélection des subventions CRSNG -découverte (informatique). Il a été parmi les membres fondateurs de CS-Can/Info-Can, la Société canadienne de l'informatique et y a été le représentant du Québec.
Awards and recognitions
-
Best paper award CASCON, 2010
-
Best paper award BM-FA, 2010
-
Ayuda para la movilidad, Ministerio de Educación y Ciencia (Espagne), 2005.
-
ACM SIGSOFT Distinguished Paper Award 2005.
-
Excellence in Science Teaching Award (2003-2004), Université de Montréal.
-
ACM Recognition of Service Award, 2003.
Affiliations and responsabilities
Research affiliations
Research units
Responsable
Teaching and supervision
Student supervision
Theses and dissertation supervision (Papyrus Institutional Repository)
Co-simulation for controlled environment simulation
Cycle : Master's
Grade : M. Sc.
Few-shot prompt learning for automating model completion
Cycle : Master's
Grade : M. Sc.
Optimizing vertical farming : control and scheduling algorithms for enhanced plant growth
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.
Apprentissage de stratégies de calcul adaptatives pour les réseaux neuronaux profonds
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.
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.
From examples to knowledge in model-driven engineering : a holistic and pragmatic approach
Cycle : Doctoral
Grade : Ph. D.
Metamodel co-evolution with related model-driven engineering artifacts : a multi-objective search framework
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.
Using goal-driven assistants for software visualization
Cycle : Master's
Grade : M. Sc.
Inferring API Usage Patterns and Constraints : a Holistic Approach
Cycle : Doctoral
Grade : Ph. D.
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.
A Mono- and Multi-objective Approach for Recommending Software Refactoring
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.
A unified framework for the comprehension of software's time dimension
Cycle : Doctoral
Grade : Ph. D.
Une approche heuristique pour l’apprentissage de transformations de modèles complexes à partir d’exemples
Cycle : Master's
Grade : M. Sc.
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.
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.
Utilisation de la visualisation interactive pour l’analyse des dépendances dans les logiciels
Cycle : Master's
Grade : M. Sc.
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.
É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.
É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.
Rule-based quality heuristics formalization and identification
Cycle : Master's
Grade : M. Sc.
Méta-modélisation de l'adaptation dynamique du contrôle des systèmes multi-agents
Cycle : Doctoral
Grade : Ph. D.
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.
É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.
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 caractéristiques externes de qualité à partir de mesures d'attributs internes : bilan et perspectives
Cycle : Master's
Grade : M. Sc.
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.
Software stability assessment using multiple prediction models
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.
Obje[c]t identification using conceptual clustering
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.
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.
001_correct : un environnement de restructuration des programmes objets piloté par la qualité
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.
A case-based reasoning diagnosis system for AHU (Air-Handling Unit)
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
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
Martin Faunes, Houari Sahraoui, Mounir Boukadoum, Genetic-Programming Approach to Learn Model Transformation Rules from Examples, Theory and Practice of Model Transformations, Lecture Notes in Computer Science Volume 7909, 2013, pp 17-32
Ali Ouni, Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum, Maintainability defects detection and correction: a multi-objective approach, Automated Software Engineering, Vol. 20, no 1, pp 47-79, 2013
Ghazwa Malak, Houari Sahraoui, Linda Badri, Mourad Badri, Modeling Web Quality using a Probabilistic Approach: An empirical validation, ACM Transactions on the Web (ACM-TWEB), vol. 4, no 3, pp.1-31, 2010
Houari Sahraoui, Lionel C. Briand, Yann-Gaël Guéhéneuc, Olivier Beaurepaire, Investigating the Impact of a Measurement Program on Software Quality, Journal of Information and Software Technology (Elseveir), vol. 52, no 9, pp.923-933, 2010.
M Kessentini, H Sahraoui, M Boukadoum, Model transformation as an optimization problem, Model Driven Engineering Languages and Systems (MODELS), 2008.
Salah Bouktif, Houari Sahraoui, and Giuliano Antoniol. 2006. Simulated annealing for improving software quality prediction. In Proceedings of the 8th annual conference on Genetic and evolutionary computation (GECCO '06).
Guillaume Langelier, Houari Sahraoui, and Pierre Poulin. 2005. Visualization-based analysis of quality for large-scale software systems. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering (ASE '05).
Houari Sahraoui, Robert Godin, Thierry Miceli, Can metrics help to bridge the gap between the improvement of OO design quality and its automation?, International Conference on Software Maintenance, pp.154,162, 2000.
Disciplines
- Computer Science
- Computer Engineering and Software Engineering
Areas of expertise
- Software engineering
- Automated software engineering
- Empirical software engineering
- Model-driven engineering
- Software metric
- Search-based Software Engineering
- Reverse engineering
- Software visualization