Avant de mettre en marché un logiciel, les entreprises en informatique doivent le tester afin d’en corriger les erreurs. Cette étape, coûteuse en temps et en ressources humaines, peut gruger près de la moitié du budget de développement. L’amélioration des méthodes de contrôle de la qualité des logiciels est donc souhaitée par l’industrie. Ce défi interpelle tout particulièrement Alexandre Ouellet, finissant au double baccalauréat en mathématiques et informatique à l’Université du Québec à Trois-Rivières (UQTR). Depuis quelques années déjà, l’étudiant mène des recherches sur les tests logiciels et ses efforts lui ont valu de nombreuses bourses et distinctions.
« Actuellement, la détection des erreurs dans le code informatique d’un logiciel est réalisée presque exclusivement par des humains. Ce sont des programmeurs qui déterminent quels seront les tests effectués pour repérer ces erreurs. Pour ma part, je m’intéresse au développement d’une approche automatisée grâce à laquelle la machine pourra venir en aide à l’humain, en effectuant les tâches les plus longues lors des tests logiciels », explique Alexandre.
L’étudiant mène ses travaux au sein du Laboratoire de recherche en génie logiciel (GLog) de l’UQTR, sous la direction du professeur Mourad Badri. Depuis le début de son parcours universitaire, Alexandre a obtenu à trois reprises une bourse de recherche de 1er cycle du Conseil de recherches en sciences naturelles et en génie (CRSNG) du Canada. Ces bourses, visant à encourager les aptitudes pour la recherche, lui ont permis d’œuvrer au GLog pendant l’été.
« J’ai déjà pu constater qu’en améliorant d’abord le code source du logiciel, lors des étapes de conception et de programmation, il est possible de diminuer les efforts consacrés aux tests », rapporte Alexandre. L’étudiant a rédigé et publié un article scientifique sur le sujet, ce qui l’a mené notamment jusqu’à Cancun (Mexique) pour une présentation lors d’un congrès international de l’Institute of Electrical and Electronics Engineers (IEEE).
Une jeune carrière prometteuse
Le développement d’une approche automatisée de tests logiciels intéresse les chercheurs depuis une vingtaine d’années. Pour l’instant, de nouvelles méthodes ont permis d’obtenir un taux d’erreur d’environ 15 à 20 %. « Le défi, c’est d’abaisser encore ce taux pour améliorer l’efficacité des tests. Toutefois, se rapprocher du 0 % d’erreur exige de grands efforts. Il s’agit d’un problème complexe à aborder, mais plus c’est compliqué, plus ça m’intéresse », commente Alexandre.
Les recherches menées par l’étudiant présentent plusieurs côtés novateurs. Au lieu d’utiliser les tests logiciels déjà existants, comme le veut l’approche traditionnelle, Alexandre travaille plutôt sur la structure du programme informatique pour prioriser les composants à tester. Cette stratégie peut être appliquée dès la phase de développement du logiciel, un avantage que n’offrent pas les méthodes habituelles. Alexandre se sert aussi d’une représentation graphique pour illustrer le logiciel et les liens entre les éléments du programme.
« J’ai participé deux fois au Concours d’affiches scientifiques de l’UQTR pour y présenter les résultats de mes recherches », souligne l’étudiant qui a remporté, entre autres, le Prix du doyen et une mention lors de ces concours. Il a aussi publié un deuxième article scientifique et en diffusera bientôt un troisième.
« J’aime beaucoup la recherche. Après mon double baccalauréat, je poursuivrai mes études à la maîtrise en mathématiques et informatique à l’UQTR, pour continuer ensuite possiblement au doctorat. J’aime aussi enseigner. J’ai développé cet intérêt au cours des deux dernières années en travaillant comme assistant d’enseignement pour l’Université », de dire Alexandre. Ce dernier a également trouvé le temps de s’impliquer dans l’Association des étudiants en mathématiques et informatique de l’UQTR, notamment comme président.