Récemment arrivé au Département de génie logiciel et des TI, le professeur Ali Ouni s’intéresse à la maintenance, l’évolution et la qualité des logiciels, ainsi que l’application des techniques d’optimisation, dont les métaheuristiques, en génie logiciel.
Il en a parcouru des kilomètres depuis qu’il a quitté sa Tunisie natale en 2010, muni d’une maîtrise en informatique et de la plus prestigieuse bourse d’études du gouvernement tunisien pour entreprendre son doctorat à l’étranger. Il choisira de faire ses travaux à l’Université de Montréal d’où il obtiendra un doctorat en informatique en 2014, et un prix d’excellence pour sa thèse.
Ses études, projets de recherche et mandats d’enseignement l’ont transporté aux États-Unis, en Asie et au Moyen-Orient. En effet, pendant ses études doctorales, il a été chercheur invité à l’Université du Michigan et à l’Université du Missouri. Il a par la suite fait des recherches et enseigné à l’Université d’Osaka au Japon et à l’Université des Émirats arabes unis.
Aujourd’hui, M. Ouni choisit de nouveau Montréal. Cette fois, c’est à l’ÉTS qu’il s’installe, et pour longtemps, nous dit-il.
Refactoring du code source
S’intéressant particulièrement aux systèmes logiciels orientés objet, orientés service et à l’ingénierie logicielle, ses recherches portent entre autres sur l’utilisation de techniques de l’intelligence artificielle – dont l’apprentissage machine et les métaheuristiques –pour créer des outils et des approches d’amélioration de la qualité des logiciels. Ultimement, ces techniques permettent d’augmenter la productivité des développeurs et de réduire substantiellement les coûts de maintenance des logiciels qui représentent, nous précise-t-il, environ 70 % du budget total d’un logiciel.
« Généralement, les développeurs se concentrent sur la correction des bogues, l’ajout de nouvelles fonctionnalités, et l’adaptation aux nouveaux environnements. Ils sont souvent soumis à des contraintes de temps et de budget, et ne peuvent consacrer leurs efforts à l’amélioration de la qualité de leur code source ou à maintenir les standards de qualité durant le cycle de vie du logiciel. C’est là que mes recherches prennent de l’importance. J’essaie de mettre au point des bonnes pratiques d’implémentation et de conception des logiciels », nous explique-t-il. « Le refactoring est une manière d’améliorer progressivement la qualité d’un logiciel en améliorant la structure interne d’un programme, tout en préservant son comportement externe ».
Approche multiobjective du refactoring
Dans sa thèse de doctorat, le professeur proposait une approche multiobjective pour 1- améliorer les attributs du logiciel (la flexibilité, la maintenabilité, etc.), 2- corriger les « mauvaises » pratiques de conception (défauts de conception), 3- introduire les « bonnes » pratiques de conception (patrons de conception). Encore aujourd’hui, ces objectifs résument bien les grands axes de son expertise.
Ali Ouni rêve entre autres de développer des outils conviviaux, robustes, et pratiques, qui fonctionnent en temps réel et qui peuvent révolutionner la façon dont les développeurs implémentent, maintiennent et font évoluer leur code. Ces outils pourraient être intégrés par la suite dans les environnements de développement modernes.
Liens avec l’industrie
Son expérience avec l’industrie s’est déroulée auprès de Ford, au Michigan, et de Panasonic, au Japon. Il entend poursuivre sa collaboration avec ces entreprises, mais également développer de nouveaux partenariats avec l’industrie québécoise.
Un auteur prolifique
Les nombreuses publications du professeur Ouni sont souvent citées, et il remporte régulièrement des prix prestigieux. Il a été notamment l’un des premiers à s’intéresser et à écrire au sujet de la préservation de la sémantique du code source lors du processus du refactoring, et classé récemment parmi les chercheurs les plus actifs dans le domaine « search-based refactoring » dans une étude publiée dans le journal Information and Software Technology. Il a été membre du comité de programme et réviseur dans plusieurs revues et conférences, et demeure aujourd’hui membre de IEEE.
Ali Ouni se serait dirigé vers les mathématiques, s’il n’était pas devenu informaticien. S’il aime évoluer dans un milieu scientifique, il a su développer d’autres talents. Bien courageux seraient ceux et celles qui oseraient se mesurer à lui au ping-pong, un sport dans lequel il excelle. Le défi est lancé !
Au nom du Bureau des affaires professorales et de toute la communauté de l’ÉTS, nous lui souhaitons la plus cordiale des bienvenues.